在c#中,如何对数字使用String.Format,并用零填充,使其始终为6个字符

在c#中,如何对数字使用String.Format,并用零填充,使其始终为6个字符,c#,C#,我想使用c#格式来执行此操作: 6=“000006” 999999=“999999” 100=“000100” -72=错误 1000000=错误 我试图使用String.Format,但没有成功 如果数字太多,格式化将不会产生错误。只需使用 string output = number.ToString("000000"); 如果需要7位字符串无效,只需对其进行编码即可 if (number >= 0 and number < 1000000) { output =

我想使用c#格式来执行此操作:

6=“000006”
999999=“999999”
100=“000100”
-72=错误
1000000=错误


我试图使用String.Format,但没有成功

如果数字太多,格式化将不会产生错误。只需使用

string output = number.ToString("000000"); 
如果需要7位字符串无效,只需对其进行编码即可

if (number >= 0 and number < 1000000)
{
     output = number.ToString("000000")
}
else 
{
     throw new ArgumentException("number");
}

是否可以使用String.Format?String.Format()只在int上调用ToString(),因此如果直接使用ToString(),开销会更小。@phoog:除非您已经在使用String.Format。我非常喜欢String.Format({0:yyyyMMdd}-{1:0000}-{2}),DateTime.Now,number,foo)而不是String.Format({0}-{1}-{2}),DateTime.Now.ToString(“yyyyMMdd”),number.ToString(“0000”),foo)@Timbo。为什么有人会做后者?@phoog:如果有人不小心/天真地听从你的建议,通过ToString格式化数字比通过string.Format格式化开销小,那么他们可能会做后者。我只是指出,这只适用于处理单个对象。
string output = string.Format("{0:000000}", number);