格式括号中的负数但不是$符号?

use*_*993 23 .net vb.net parentheses negative-number

我已经在互联网上看到格式化带有$符号的括号的双重值,即.货币类型.

我正在寻找一种.NET格式的字符串来格式化

12345.67 = 12,345.67

-12345.67 = (12,345.67)
Run Code Online (Sandbox Code Playgroud)

Edm*_*ppe 55

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));
Run Code Online (Sandbox Code Playgroud)

是:

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)
Run Code Online (Sandbox Code Playgroud)


Jon*_*ton 2

您可以使用 FormatNumber 函数:

FormatNumber(-100, UseParensForNegativeNumbers:=TriState.True)

将返回“(100)”

MSDN上还有更多内容