web-dev-qa-db-ja.com

文字列を3桁の数値にフォーマットする

これを行う代わりに、string.format()を使用して同じ結果を達成したいと思います。

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

数値をフォーマットするだけの場合は、適切な カスタム数値形式 を指定するだけで、直接3桁の文字列にすることができます。

myString = 3.ToString("000");

または、代わりに 標準のD形式文字列 を使用します。

myString = 3.ToString("D3");
106
Reed Copsey
 string.Format("{0:000}", myString);
23
Haitham Salem

パディング

myString.PadLeft(3, '0')
18
PinnyM

(まだ十分な評価を得てコメントできないので、補足説明を追加させてください)

出力を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

6
Sxc

これは、文字列補間C#7を使用して行われる方法です。

$"{myString:000}"
4
Ali

「方法:先行ゼロで数字を埋め込む」 http://msdn.Microsoft.com/en-us/library/dd260048.aspx

3
user287107

以下も実行できます。string.Format( "{0:D3}、3);

3
sstassin

String.Formatである必要がありますか?

これはString.Padleftの仕事のように見えます

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

または、intから直接変換する場合:

myInt.toString("D3");
2
Sconibulus

これは短い文字列です formatInterpolation

$"{value:D3}"