Каков наилучший способ отформатировать десятичную сумму в строку для отображения пользовательского интерфейса в правильной информации о культуре?
Форматировать десятичную строку в правильную информацию о культуре
Ответы (4)
Добавьте формат к ToString: myDecimal.ToString("#.00")
или myDecimal.ToString("C")
.
Для десятичного числа, допускающего значение NULL (decimal?
), вам нужно будет использовать свойство .Value (myNullableDecimal.Value.ToString("C")
) или преобразовать значение в простое (не допускающее значение NULL) десятичное число. Не делайте этого, когда значение равно null
, иначе вы получите исключение!
См. документацию для Standard или Пользовательский числовой строки формата.
Почему бы и нет decimalVar.ToString("F2", CultureInfo.CurrentCulture);
. Строки формата (часть «F2») и их назначение см. в разделе Стандартный числовой формат. Строки и строки пользовательского числового формата
использовать:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
Кроме того, если вы хотите использовать культуру, указанную пользователем, вы можете использовать:
string userInfo = "en-US";
yourDecimal.ToString("N2", CultureInfo.CreateSpecificCulture(userInfo));
or
yourDecimal.ToString("N2", new CultureInfo(userInfo));
myDecimal.ToString()
? - person Joey   schedule 26.02.2010