我在互联网上看到过一种格式化负数双精度值的方式,即用圆括号带有$
符号,如货币类型。
我正在寻找一个.NET格式字符串,用于格式化:
12345.67 = 12,345.67
-12345.67 = (12,345.67)
我在互联网上看到过一种格式化负数双精度值的方式,即用圆括号带有$
符号,如货币类型。
我正在寻找一个.NET格式字符串,用于格式化:
12345.67 = 12,345.67
-12345.67 = (12,345.67)
通过MSDN上的条件格式来解救吧!
您可以一次指定多达三个不同的格式字符串部分,并使用分号将它们分隔开。如果您指定了两个格式字符串部分,则第一个用于正值和零值,而第二个用于负值;如果使用了三个部分,则第一个用于正值,第二个用于负值,第三个用于零值。
以下是此C#代码的输出:
string fmt1 = "#,##0.00";
string fmt2 = "#,##0.00;(#,##0.00)";
double posAmount = 12345.67;
double negAmount = -12345.67;
Console.WriteLine("posAmount.ToString(fmt1) returns " + posAmount.ToString(fmt1));
Console.WriteLine("negAmount.ToString(fmt1) returns " + negAmount.ToString(fmt1));
Console.WriteLine("posAmount.ToString(fmt2) returns " + posAmount.ToString(fmt2));
Console.WriteLine("negAmount.ToString(fmt2) returns " + negAmount.ToString(fmt2));
是什么:
posAmount.ToString(fmt1) returns 12,345.67
negAmount.ToString(fmt1) returns -12,345.67
posAmount.ToString(fmt2) returns 12,345.67
negAmount.ToString(fmt2) returns (12,345.67)
您可以使用FormatNumber函数:
FormatNumber(-100, UseParensForNegativeNumbers:=TriState.True)
将返回“(100)”
更多内容请参考MSDN