我正在使用格式化功能(http://msdn.microsoft.com/en-us/library/59bz1f0h%28v=vs.90%29.aspx)来格式化输出。目前我使用这种格式字符串:
TestStr1 = Format(5459.4, "##,##0.00")
TestStr2 = Format(0.4, "##,##0.00")
TestStr3 = Format(0.0, "##,##0.00")
上述代码将分别返回“5,459.40”,“0.4”和“0.00”。现在,如果该值等于零,我想显示“ - ”。如何在不使用if-else语句的情况下实现该输出,只需格式化函数?
修改:
除了Pranay在这里的文章,我发现了一篇来自微软的文章,它位于底部。 http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
答案 0 :(得分:7)
使用
<强> “;”部分分隔符
允许根据数字符号显示数字。正如您在下面的代码中看到的那样,fmt变量是格式,我将在此处首先应用于我的数字格式;是正数,第二种格式是负数,最后一种格式是零值。基本上是它的“正面;负面;零”格式。您可以在此代码的输出中看到它的作用。
示例:
double posValue = 1234;
double negValue = -1234;
double zeroValue = 0;
string fmt = "+##;-##;**Zero**";
Console.WriteLine("value is positive : " + posValue.ToString(fmt));
Console.WriteLine();
Console.WriteLine("value is negative : " +negValue.ToString(fmt));
Console.WriteLine();
Console.WriteLine("value is Zero : " + zeroValue.ToString(fmt));
Console.WriteLine();
注意:强>
在上面的示例中,您只需使用“ - ”或您想要的字符重新显示零。
尽管代码在c#.net中,但是在完成 ToString 函数格式化后,你可以在vb.net中实现代码。