而不是这样做,我想利用string.format()
来完成相同的结果:
if (myString.Length < 3)
{
myString = "00" + 3;
}
如果您只是格式化一个数字,您可以提供正确的自定义数字格式,使其直接成为 3 位字符串:
myString = 3.ToString("000");
或者,或者,使用标准 D 格式字符串:
myString = 3.ToString("D3");
string.Format("{0:000}", myString);
它被称为填充:
myString.PadLeft(3, '0')
这就是使用字符串插值 C# 7 完成的方法
$"{myString:000}"
(不能以足够的声誉发表评论,让我添加一个旁注)
以防万一您的输出需要固定长度为 3 位,即数字运行高达 1000 或更多(保留固定长度),不要忘记在其上添加 mod 1000。
yourNumber=1001;
yourString= yourNumber.ToString("D3"); // "1001"
yourString= (yourNumber%1000).ToString("D3"); // "001" truncated to 3-digit as expected
Fiddler 上的跟踪示例https://dotnetfiddle.net/qLrePt
这是一个简写字符串格式 Interpolation:
$"{value:D3}"
“如何:用前导零填充数字” 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);