繁体   English   中英

String.Format 一个整数以使用没有小数位的千位分隔符或小整数前导 0

[英]String.Format an integer to use a thousands separator without decimal places or leading 0 for small integers

愚蠢的问题,我想格式化一个整数,使其以 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表示放置属于此处的数字,或者[前导/尾随]为零[以使对齐等等]。 编辑:你肯定希望一个作为模式中的最后一个数字,或者零值将呈现为空字符串
  • #表示除非此处有重要数字,否则不要将任何内容放入输出中。

编辑(感谢@eulerfx):

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

尝试

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

这也有效:

40000.ToString("#,#")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM