.NET:十进制到圆角字符串

时间:2010-01-26 18:39:27

标签: c# .net math rounding

如果我有decimal,如何获得带有两位小数的字符串版本?这不起作用:

Math.Round(myDecimal, 2).ToString("{0.00}");

3 个答案:

答案 0 :(得分:8)

不要使用花括号,它们用于使用string.Format将格式化的值嵌入更长的字符串中。使用此:

myDecimal.ToString("0.00");

答案 1 :(得分:2)

也许我错了,但我已经尝试myDecimal.ToString();并且它有效。

答案 2 :(得分:0)

假设myDecimalSystem.Decimal,那么Math.Round(myDecimal, 2).ToString();将显示两个精度的十进制数字,正如您所希望的那样,没有任何格式字符串(除非您的数字的绝对值更大)比10 ^ 27-1)。这是因为decimal数据类型保留了数字的完整精度。也就是说,1m1.0m1.00m的存储方式不同,并且会以不同的方式显示。

请注意,floatdouble不适用。 1f1.0f1.00f的存储和显示方式相同,1d1.0d1.00d也是如此。

由于格式字符串必须在运行时解析,因此在大多数情况下,我可能会省略它,因为这样的代码。