Если myDecimal
является System.Decimal
, то Math.Round(myDecimal, 2).ToString();
будет отображать две десятичные цифры точности, как вы хотите, без какой-либо строки формата (если абсолютное значение вашего числа не превышает 10 ^ 27-1 ). Это связано с тем, что тип данных decimal
сохраняет полную точность числа. То есть 1m
, 1.0m
и 1.00m
хранятся по-разному и будут отображаться по-разному.
Обратите внимание, что это не так для float
или double
. 1f
, 1.0f
и 1.00f
сохраняются и отображаются одинаково, как и 1d
, 1.0d
и 1.00d
.
Поскольку строка формата должна быть проанализирована во время выполнения, я бы, вероятно, пропустил ее для кода, подобного этому, в большинстве случаев.