换句话说,我希望 0.123 显示为“.123”,但 0 应该显示为“0”。目前我所拥有的最好的是
String.Format("{0:.###}", n)
它给出了 0.123 的“.123”,但 0 的“”(空字符串)。
换句话说,我希望 0.123 显示为“.123”,但 0 应该显示为“0”。目前我所拥有的最好的是
String.Format("{0:.###}", n)
它给出了 0.123 的“.123”,但 0 的“”(空字符串)。
如果;
用作分隔符,则可以指定正值、负值和零值的格式。 将在正值和负值string.Format("{0:.###;-.###;0}", n)
时显示 '0'并将省略前导零。在此处n==0
查看 MSDN 参考。
如果所有其他方法都失败了,您可以执行以下操作:
string s = n == 0 ? "0" : String.Format("{0:.###}", n);
不是很出色,但会完成工作:-)
这是您可以尝试的东西 我添加了一个可以测试代码并将变量从0
to更改.1234
为 test的地方
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;