如何在数量为至少千单位时格式化数字

时间:2015-01-01 16:47:19

标签: c#

使用下面的代码我用组分隔符格式化双号,如果数字是5000,它应该显示为5,000,如果数字只有5,它应该只显示5但是这里显示05我怎么能避免这个?

double doubleNumTest = 5;
string str = doubleNumTest.ToString("0,0", CultureInfo.InvariantCulture);

4 个答案:

答案 0 :(得分:1)

您可以将numeric format specifier与零小数位一起使用; N0

string str = doubleNumTest.ToString("N0", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

试试这个:

string str = doubleNumTest.ToString("#,0", CultureInfo.InvariantCulture);

答案 2 :(得分:0)

您使用的格式字符串告诉它打印前导零,尝试使用#代替0

来自MSDN

  

" 0"零占位符如果存在,则用相应的数字替换零;否则,结果字符串中会出现零。

     

"#"数字占位符替换"#"带有相应数字的符号(如果有);否则,结果字符串中不会出现数字。

答案 3 :(得分:0)

使用数字占位符

  

取代"#"如果是,则带有相应数字的符号   当下;否则,结果字符串中不会出现数字。

     

更多信息:The "#" Custom Specifier

double doubleNumTest = 5;
string str = doubleNumTest.ToString("#,#", CultureInfo.InvariantCulture);

double doubleNumTest = 500;
string str = doubleNumTest.ToString("#,#", CultureInfo.InvariantCulture);

double doubleNumTest = 50000;
string str = doubleNumTest.ToString("#,#", CultureInfo.InvariantCulture);

输出:

  

5
  500
  50,000

请参阅此处了解可传递给此方法的custom numeric formats