如何应用不同的格式,具体取决于数字是正数还是负数

pin*_*goo 3 c# vb.net double formatting string.format

我输出的Double可以是(+)或负( - ).如果数字为负数,则自动包含符号( - ),是否还有一种方法可以对正数进行此操作?

我能做到的唯一(可怕)方式是:

If MyNumber <= 0 then
    string.Format("{0:0.00}", MyNumber)
Else
    string.Format("+{0:0.00}", MyNumber)
End If 
Run Code Online (Sandbox Code Playgroud)

Fis*_*rdo 8

您可以使用以下格式的节分隔符:

string.Format("{0:+0.00;-0.00}", num);
Run Code Online (Sandbox Code Playgroud)

分号前的格式将用于正数.后面的格式将用于负数.如果您想要一个单独的零格式,请在负数格式之后添加另一种格式:

string.Format("{0:+0.00;-0.00;0.00}", num);
Run Code Online (Sandbox Code Playgroud)

  • 很好,不知道这个.+1一条评论,在MSDN上查看后,我认为它被称为分区分隔符http://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.110%29.aspx (2认同)