我想以同时具有前导零 和 千位分隔符的方式格式化整数。
我知道 someInt.ToString("D6");
会给我前导零,但显然它不允许 NumberGroupSeparator
。另一方面 someInt.ToString("N");
会给我分隔符但没有前导零......
是否可以将两者结合起来将 123456
打印为 00 123 456
?我知道我可以使用 N
创建字符串,然后在循环中手动向字符串添加零或其他东西,但也许有更好的方法?
编辑:
填充零的数量(数字的总位数)应该是可调整的。
最佳答案
如果您想要 00 123 456,请执行以下操作:
123456.ToString("00 000 000")
如果您需要固定数量的零,我能想到的就是:
int NUM_LENGTH = 6;
//This is not very elegant
var NUM_STR = String.Join("", Enumerable.Range(0, NUM_LENGTH).Select((x, i) => (NUM_LENGTH - i) % 3 == 0 ? " 0" : "0"));
//But at least it works:
var example1 = 123456.ToString(NUM_STR); //Outputs 123 456
var example2 = 1234.ToString(NUM_STR); //Outputs 001 234
关于c# - 带前导零和千位分隔符的格式编号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9989826/