使用ToString()格式化数字

Joh*_*ohn 2 c# decimal

我使用<myVar>.ToString("#.##");和得到的东西一样13.1,并1422.22

但我想13.1014.0022.22

一直在搜索,一切都想出如何隐藏零,这是我所拥有的任何想法

Son*_*nül 12

您也可以使用精确的数字 ( "N") 格式说明符。2

Console.WriteLine((13.1).ToString("N2")); // 13.10
Console.WriteLine((14).ToString("N2"));   // 14.00
Console.WriteLine((22.22).ToString("N2")); // 22.22
Run Code Online (Sandbox Code Playgroud)

请记住,该格式说明符默认CurrentCulture使用's 。如果您的不是,您可以使用具有as (like ) in方法作为第二个参数的区域性。NumberDecimalSeparator ..NumberDecimalSeparatorInvariantCultureToString


Nej*_*lof 6

因为在格式字符串中,#用来表示可选的字符占位符;仅在需要表示数字时使用。

如果您改为执行此操作,0.ToString("0.##");则会得到:0

有趣的是,如果您这样做0.ToString("#.0#");.0

如果要全部三位数字:0.ToString("0.00");产生:0.00

这里更多


Ste*_*pUp 4

可以使用零格式说明符:

.ToString(".00");
Run Code Online (Sandbox Code Playgroud)

一个例子:

int k=25;
string str_1 = k.ToString(".00"); // Output: "25,00"
Run Code Online (Sandbox Code Playgroud)

井号#表示该值是可选的。例如:

string str_2 = 0.ToString("0.##");// Output: "0"
Run Code Online (Sandbox Code Playgroud)