String.Format一个整数,使用千位分隔符,不带小数位或前导0代表小整数

时间:2009-11-03 09:56:49

标签: c# string-formatting

愚蠢的问题,我想格式化一个整数,以便它出现在1000的分隔符(,)中,但也没有小数位且没有前导0。

到目前为止,我的尝试是:

String.Format("{0} {1}", 5, 5000);            // 5 5000
String.Format("{0:n} {1:n}", 5, 5000);        // 5.00 5,000.00
String.Format("{0:0,0} {1:0,0}", 5, 5000);    // 05 5,000

我所追求的输出是:

5 5,000

有什么明显的东西我不见了吗?

4 个答案:

答案 0 :(得分:52)

这对我有用。

String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000

答案 1 :(得分:45)

试试这个: -

String.Format("{0:n0}",5000) // 5,000
String.Format("{0:n0}",5) // 5
String.Format("{0:n0}",0) // 0

答案 2 :(得分:25)

String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000"
    格式字符串中的
  • 0表示放置此处的数字,或者[前导/尾随]为零[以使对齐等等]。编辑:你肯定希望一个作为模式中的最后一个数字,或者零值将呈现为空字符串
  • #表示除非此处有重要数字,否则不要在输出中添加任何内容。
编辑(感谢@eulerfx):

  • 最后一部分需要是0而不是#(正如我最初的那样),因为值为零,否则将呈现为零长度字符串。

答案 3 :(得分:4)

尝试

String.Format("{0:#,#}", 4000);