换句话说,我希望0.123显示为“.123”,但0应显示为“0”。目前我得到的最好的是
String.Format("{0:.###}", n)
给出0.123的“.123”,但是“”(空字符串)为0。
答案 0 :(得分:9)
如果使用;
作为分隔符,则可以指定正值,负值和零值的格式。 string.Format("{0:.###;-.###;0}", n)
时n==0
会显示'0',并且正值和负值都会忽略前导零。检查MSDN参考here。
答案 1 :(得分:4)
如果其他所有方法都失败了,你可以这样做:
string s = n == 0 ? "0" : String.Format("{0:.###}", n);
并不精彩,但会完成工作: - )
答案 2 :(得分:0)
这是您可以尝试的内容我添加了一个位置,您可以在其中测试代码并将变量从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;