3

换句话说,我希望 0.123 显示为“.123”,但 0 应该显示为“0”。目前我所拥有的最好的是

String.Format("{0:.###}", n)

它给出了 0.123 的“.123”,但 0 的“”(空字符串)。

4

3 回答 3

9

如果;用作分隔符,则可以指定正值、负值和零值的格式。 将在正值和负值string.Format("{0:.###;-.###;0}", n)时显示 '0'并将省略前导零。在此处n==0查看 MSDN 参考。

于 2013-05-09T22:00:39.867 回答
4

如果所有其他方法都失败了,您可以执行以下操作:

 string s = n == 0 ? "0" : String.Format("{0:.###}", n);

不是很出色,但会完成工作:-)

于 2013-05-09T21:50:04.400 回答
0

这是您可以尝试的东西 我添加了一个可以测试代码并将变量从0to更改.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;
于 2013-05-09T22:08:23.623 回答