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

愚蠢的问题,我想格式化一个整数,使其出现与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 

有什么明显的,我失踪?

这对我有效。

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

尝试这个:-

 String.Format("{0:n0}",5000) // 5,000 String.Format("{0:n0}",5) // 5 String.Format("{0:n0}",0) // 0 
 String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000" 
  • 0格式string意味着把数字,在这里属于,或者[领先/尾随]零[使事情alignment等]。 编辑:你一定会想要一个模式中的最后一位数字,或者一个零值将呈现为一个空string
  • #表示不要把任何东西放到输出中,除非在这里有一个重要的数字。

编辑(谢谢@ eulerfx):

  • 最后一部分需要是一个0而不是一个# (正如我最初那样)作为一个零值将被呈现为一个零长度的string。

尝试

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