格式化功能,如果数字为零,则显示自定义字符

时间:2012-07-03 06:18:19

标签: c# asp.net vb.net formatting

我正在使用格式化功能(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

1 个答案:

答案 0 :(得分:7)

完整文章:Format Number To Display

使用

<强> “;”部分分隔符

允许根据数字符号显示数字。正如您在下面的代码中看到的那样,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中实现代码。