使用ToString()格式化数字

时间:2015-11-07 11:17:20

标签: c# decimal

我正在使用<myVar>.ToString("#.##");并获取13.114以及22.22

之类的内容

但我想要13.1014.00以及22.22

一直在寻找如何隐藏零的内容,这就是我所拥有的,任何想法

3 个答案:

答案 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"