これを行う代わりに、string.format()
を使用して同じ結果を達成したいと思います。
if (myString.Length < 3)
{
myString = "00" + 3;
}
string.Format("{0:000}", myString);
パディング :
myString.PadLeft(3, '0')
(まだ十分な評価を得てコメントできないので、補足説明を追加させてください)
出力を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
これは、文字列補間C#7を使用して行われる方法です。
$"{myString:000}"
「方法:先行ゼロで数字を埋め込む」 http://msdn.Microsoft.com/en-us/library/dd260048.aspx
以下も実行できます。string.Format( "{0:D3}、3);
String.Format
である必要がありますか?
これはString.Padleft
の仕事のように見えます
myString=myString.PadLeft(3, '0');
または、intから直接変換する場合:
myInt.toString("D3");
これは短い文字列です formatInterpolation :
$"{value:D3}"