愚蠢的问题,我想格式化一个整数,使其与 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
表示放置属于此处的数字,或者[前导/尾随]零[以使事物对齐等]。编辑:您肯定希望将 1 作为模式中的最后一位数字,否则零值将呈现为空字符串#
表示除非此处有有效数字,否则不要将任何内容放入输出中。编辑(感谢@eulerfx):
0
而不是 #
(正如我最初的那样),因为零值否则会呈现为零长度字符串。尝试
String.Format("{0:#,#}", 4000);
这也有效:
40000.ToString("#,#")
随着 C# 6.0 中字符串插值的介绍,有一种更好/更好的方式使用
$
处理字符串并使用 {variable/value[,alignment][:formatString]}
进行字符串格式化。
$"{5:#,0} {5000:#,0}"; // 5 5,000