83

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

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

9 に答える 9

148

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

myString = 3.ToString("000");

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

myString = 3.ToString("D3");
于 2012-09-24T18:39:38.317 に答える
31
 string.Format("{0:000}", myString);
于 2014-11-25T09:16:03.910 に答える
19

それはパディングと呼ばれます:

myString.PadLeft(3, '0')
于 2012-09-24T18:38:17.913 に答える
13

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

$"{myString:000}"
于 2018-08-15T00:50:16.390 に答える
8

(まだ十分な評判でコメントすることはできません、補足を追加させてください)

出力を3桁の固定長にする必要がある場合、つまり、1000以上の数値を実行する場合(固定長を予約)、mod1000を追加することを忘れないで ください

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

Fiddlerのトレイルサンプルhttps://dotnetfiddle.net/qLrePt

于 2017-03-21T08:03:43.420 に答える
4

これは、短縮文字列形式の 補間です。

$"{value:D3}"
于 2018-12-11T13:54:26.327 に答える
3

「方法:先行ゼロで数値を埋める」 http://msdn.microsoft.com/en-us/library/dd260048.aspx

于 2012-09-24T18:39:42.913 に答える
3

それはする必要がありString.Formatますか?

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

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

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

myInt.toString("D3");
于 2012-09-24T18:40:44.213 に答える
3

次のこともできます:string.Format( "{0:D3}、3);

于 2016-08-03T15:25:57.730 に答える