我正在使用<myVar>.ToString("#.##");
并获取13.1
和14
以及22.22
但我想要13.10
和14.00
以及22.22
一直在寻找如何隐藏零的内容,这就是我所拥有的,任何想法
答案 0 :(得分:5)
因为在格式字符串中,#用于表示可选的字符占位符;它仅在需要时才用于表示数字。
如果您这样做:0.ToString("0.##");
,您会得到:0
有趣的是,如果你这样做:0.ToString("#.0#");
你会得到:.0
如果您想要全部三位数:0.ToString("0.00");
产生:0.00
更多here
答案 1 :(得分:2)
您也可以the numeric ("N"
) format specifier使用2
精度。
Console.WriteLine((13.1).ToString("N2")); // 13.10
Console.WriteLine((14).ToString("N2")); // 14.00
Console.WriteLine((22.22).ToString("N2")); // 22.22
请注意,此格式说明符默认情况下使用CurrentCulture
&#39; s NumberDecimalSeparator
。如果您不是.
,则可以在.
方法中使用NumberDecimalSeparator
作为ToString
(如InvariantCulture
)的文化作为第二个参数。
答案 2 :(得分:1)
可以使用零格式说明符:
.ToString(".00");
一个例子:
int k=25;
string str_1 = k.ToString(".00"); // Output: "25,00"
哈希符号#
表示该值是可选的。例如:
string str_2 = 0.ToString("0.##");// Output: "0"