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 двумя знаками точности после точки?

Желательно при распарсивании.
Здравствуйте, geHucKa, Вы писали:
HK>В итоге в sourceAmount под вотчем вижу — 12.345456; в s — 12.345456. Как ограничить decimal двумя знаками точности после точки?
Желательно при распарсивании.
NumberDecimalDigits влияет только на форматирование. Используйте Math.Round.
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, geHucKa, Вы писали:
HK>>В итоге в sourceAmount под вотчем вижу — 12.345456; в s — 12.345456. Как ограничить decimal двумя знаками точности после точки?
Желательно при распарсивании.
S>NumberDecimalDigits влияет только на форматирование. Используйте Math.Round.
Что характерно, sourceAmount.ToString(nfi) тоже выдаёт 12.345456, хотя я думал, что это форматирование.
Здравствуйте, geHucKa, Вы писали:
HK>Что характерно, sourceAmount.ToString(nfi) тоже выдаёт 12.345456, хотя я думал, что это форматирование.
Вам надо явно указать одну из
Standard Numeric Format Strings. По-моему, f или g.