是否有c#格式说明符省略前导零,除非值为零
本文关键字:格式 说明符省 是否 | 更新日期: 2023-09-27 18:12:50
换句话说,我希望0.123显示为"。123",但0应该显示为"0"。目前我得到的最好的是
String.Format("{0:.###}", n)
给出"。
如果使用;
作为分隔符,则可以指定正、负和零值的格式。string.Format("{0:.###;-.###;0}", n)
将在n==0
时显示"0",并且将省略正负值的前导零。查看此处的MSDN参考
如果这些都失败了,你可以这样做:
string s = n == 0 ? "0" : String.Format("{0:.###}", n);
不聪明,但会完成工作:-)
这里是你可以尝试的东西我添加了一个地方,你可以测试代码,并将变量从0
更改为.1234
来测试
var decNum =.1234;//change to 0 will return 0 change to .1234 will return the correct formatted value
var formatDecil = String.Format("{0:.###}", decNum);
formatDecil = string.IsNullOrEmpty(formatDecil) ? 0.ToString():formatDecil;