将string格式化为3位数字

而不是这样做,我想使用string.format()来完成相同的结果:

 if (myString.Length < 3) { myString = "00" + 3; } 

如果只是格式化数字,则可以直接提供适当的自定义数字格式以使其成为3位数string:

 myString = 3.ToString("000"); 

或者,也可以使用标准的D格式string :

 myString = 3.ToString("D3"); 

这就是所谓的填充 :

 myString.PadLeft(3, '0') 

其他方式

string.Format(“{0:000}”,myString);

“如何:使用前导零填充数字” http://msdn.microsoft.com/en-us/library/dd260048.aspx

它是否必须是String.Format

这看起来像一个String.Padleft工作

 myString=myString.PadLeft(3, '0'); 

或者,如果你直接从int转换:

 myInt.toString("D3"); 

你也可以这样做:string.Format(“{0:D3},3);

(不能评论,有足够的声誉,让我补充一个旁注)

以防万一您的输出需要固定长度的3位,即数量运行到1000或更多(保留的固定长度),不要忘记添加mod 1000

 yourNumber=1001; yourString= yourNumber.ToString("D3"); // "1001" yourString= (yourNumber%1000).ToString("D3"); // "001" truncated to 3-digit as expected 

在Fiddler上的Trail示例https://dotnetfiddle.net/qLrePt