自定义数字格式字符串_部分分隔符和条件格式

部分分隔符和条件格式

可以根据值为正、为负还是为零来为字符串应用不同的格式化。为产生这种行为,自定义格式字符串可以包含最多三个用分号分隔的部分。下表描述了这些部分。

部分数目

说明

一个部分

格式字符串应用于所有值。

两个部分

第一部分应用于正值和零,第二部分应用于负值。

如果要格式化的数字为负,但根据第二部分中的格式舍入后为零,则最终的零根据第一部分进行格式化。

三个部分

第一部分应用于正值,第二部分应用于负值,第三部分应用于零。

第二部分可以留空(分号间没有任何内容),在这种情况下,第一部分应用于所有非零值。

如果要格式化的数字为非零值,但根据第一部分或第二部分中的格式舍入后为零,则最终的零根据第三部分进行格式化。

格式化最终值时,部分分隔符忽略所有先前存在的与数字关联的格式设置。例如,使用部分分隔符时,显示的负值永远不带负号。如果您希望格式化后的最终值带有负号,则应明确包含负号,让它作为自定义格式说明符的组成部分。

下面的代码段阐释如何使用部分分隔符产生格式化字符串。

 
C# 
double MyPos = 19.95, MyNeg = -19.95, MyZero = 0.0;

// In the U.S. English culture, MyString has the value: $19.95.
string MyString = MyPos.ToString("$#,##0.00;($#,##0.00);Zero");

// In the U.S. English culture, MyString has the value: ($19.95).
// The minus sign is omitted by default.
MyString = MyNeg.ToString("$#,##0.00;($#,##0.00);Zero");

// In the U.S. English culture, MyString has the value: Zero.
MyString = MyZero.ToString("$#,##0.00;($#,##0.00);Zero");

 

            double d = 12.5684;
            double d1 = -12.5684;
            double d2 = 0;
            string str = "#.##;#.#####;零";//string str = "0.##;0.#####;零";
            textBox1.Text = d.ToString(str);//12.56
            textBox1.Text = d1.ToString(str);//12.5684
            textBox1.Text = d2.ToString(str);//零

posted @ 2012-11-24 13:45  怡馨  阅读(436)  评论(0编辑  收藏  举报