使用下面的代码我用组分隔符格式化双号,如果数字是5000,它应该显示为5,000,如果数字只有5,它应该只显示5但是这里显示05我怎么能避免这个?
double doubleNumTest = 5;
string str = doubleNumTest.ToString("0,0", CultureInfo.InvariantCulture);
答案 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。