C# 使用ToString()格式化数字
我正在使用C# 使用ToString()格式化数字,c#,decimal,C#,Decimal,我正在使用.ToString(“#.###”)和获取类似13.1和14和22.22 但是我想要13.10和14.00和22.22 我一直在搜索,所有东西都在想如何隐藏零,这就是我的想法,任何想法都可以通过使用零格式说明符来实现: .ToString(".00"); 例如: int k=25; string str_1 = k.ToString(".00"); // Output: "25,00" 哈希符号#表示该值是可选的。例如: string str_2 = 0.ToString("0.#
.ToString(“#.###”)代码>和获取类似13.1
和14
和22.22
但是我想要13.10
和14.00
和22.22
我一直在搜索,所有东西都在想如何隐藏零,这就是我的想法,任何想法都可以通过使用零格式说明符来实现:
.ToString(".00");
例如:
int k=25;
string str_1 = k.ToString(".00"); // Output: "25,00"
哈希符号#
表示该值是可选的。例如:
string str_2 = 0.ToString("0.##");// Output: "0"
因为在格式字符串中,#用于表示可选字符占位符;它仅在需要表示数字时使用
如果您改为这样做:0.ToString(“0.###”)代码>您得到:0
有趣的是,如果您这样做:0.ToString(#.0#)代码>您得到:.0
如果需要全部三位数字:0.ToString(“0.00”)代码>产生:0.00
更多您也可以使用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
。如果您的区域性不是
,则可以使用
作为ToString
方法中的NumberDecimalSeparator
(类似)作为第二个参数 正如Royi所说,使用这种格式。这也有助于解释自定义格式字符串之间的差异。