2012-03-06 2 views
12

У меня есть поле amount, которое является десятичной точкой в ​​базе данных. Мне нужно всегда отображать эту сумму с 10 номерами слева от десятичной и двумя после.C# Сумма заполнения с нулями

Пример:
Amount = 245.00, который должен отображаться как 0000000245.00 Кроме того, сумма может быть более 1000 или 10000, который должен отображаться как:

0000001245.00 и 0000011245.00

Как отформатировать количество всегда иметь соответствующее количество нулей в левой части десятичной дроби с размером переменной величины?

ответ

23

Вы должны поставить 0 'в строке формата. Что-то вроде этого.

myValue.ToString("0000000000.00"); 

Это всегда даст вам 10 цифр в левой части десятичной точки и два справа.

Если вы не хотите, чтобы две цифры с правой стороны ... сделайте это.

myValue.ToString("0000000000.##"); 

Это говорит, что если у нас есть значение, отобразите его; в противном случае пропустите его.

+0

Это сделает округление. –

8

Это должно помочь ... http://www.csharp-examples.net/string-format-int/

Таким образом, вы можете использовать этот

string.Format("{0:0000000000.00}", 15.25); // "0000000015.25"

+0

Я тоже думал об этом, но перечитал вопрос. Цифры справа от десятичной точки должны меняться и не всегда быть ровно двумя. – Yuck

+0

@Yuck Это не так, как я понимаю. «Мне нужно всегда отображать эту сумму с 10 номерами слева от десятичной и двух после.» ... она не будет работать с цифрами, большими, чем 9999999999, хотя, потому что тогда он будет имеет 11 чисел впереди :) –

+0

Обратите внимание, что ToString более эффективна, чем string.Format. Другими словами, если 'd' является десятичной переменной,' d.ToString ("0000000000.00") 'более эффективно, чем' string.Format ("{0: 0000000000.00}", d) ' – phoog

2

yourDecimalVariable.ToString ("0000000000.00") должен сделать трюк.

 Смежные вопросы

  • Нет связанных вопросов^_^