Decimal.Parse и ToString не учитывают NumberFormatInfo
От: geHucKa  
Дата: 10.05.10 08:30
Оценка:
decimal sourceAmount;

NumberFormatInfo nfi = (NumberFormatInfo)
    NumberFormatInfo.InvariantInfo.Clone();
nfi.NumberDecimalDigits = 2;
nfi.NumberDecimalSeparator = ".";

decimal.TryParse("12.345456",
    NumberStyles.AllowDecimalPoint,
    nfi,
    out sourceAmount);

string s = sourceAmount.ToString(nfi);


В итоге в sourceAmount под вотчем вижу — 12.345456; в s — 12.345456. Как ограничить decimal двумя знаками точности после точки? Желательно при распарсивании.
Пользуясь случаем, передаю привет маме, папе и брату! :Р
decimal parse tostring numberformatinfo
Re: Decimal.Parse и ToString не учитывают NumberFormatInfo
От: Sinix  
Дата: 10.05.10 08:41
Оценка:
Здравствуйте, geHucKa, Вы писали:

HK>В итоге в sourceAmount под вотчем вижу — 12.345456; в s — 12.345456. Как ограничить decimal двумя знаками точности после точки? Желательно при распарсивании.

NumberDecimalDigits влияет только на форматирование. Используйте Math.Round.
Re[2]: Decimal.Parse и ToString не учитывают NumberFormatInf
От: geHucKa  
Дата: 10.05.10 09:08
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, geHucKa, Вы писали:


HK>>В итоге в sourceAmount под вотчем вижу — 12.345456; в s — 12.345456. Как ограничить decimal двумя знаками точности после точки? Желательно при распарсивании.

S>NumberDecimalDigits влияет только на форматирование. Используйте Math.Round.

Что характерно, sourceAmount.ToString(nfi) тоже выдаёт 12.345456, хотя я думал, что это форматирование.
Пользуясь случаем, передаю привет маме, папе и брату! :Р
Re[3]: Decimal.Parse и ToString не учитывают NumberFormatInf
От: Sinix  
Дата: 10.05.10 09:12
Оценка:
Здравствуйте, geHucKa, Вы писали:

HK>Что характерно, sourceAmount.ToString(nfi) тоже выдаёт 12.345456, хотя я думал, что это форматирование.

Вам надо явно указать одну из Standard Numeric Format Strings. По-моему, f или g.
Re[3]: Decimal.Parse и ToString не учитывают NumberFormatInf
От: Sinix  
Дата: 10.05.10 09:13
Оценка:
Здравствуйте, geHucKa, Вы писали:

Неправ, N:
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#NFormatString
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.