如果我有decimal
,如何获得带有两位小数的字符串版本?这不起作用:
Math.Round(myDecimal, 2).ToString("{0.00}");
答案 0 :(得分:8)
不要使用花括号,它们用于使用string.Format
将格式化的值嵌入更长的字符串中。使用此:
myDecimal.ToString("0.00");
答案 1 :(得分:2)
也许我错了,但我已经尝试myDecimal.ToString();
并且它有效。
答案 2 :(得分:0)
假设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
也是如此。
由于格式字符串必须在运行时解析,因此在大多数情况下,我可能会省略它,因为这样的代码。