17

次の方法で出力テキストをフォーマットすることを目的として、文字列にマスクを適用するにはどうすればよいですか (最大 2 つの先行ゼロ)。

int a = 1, b = 10, c = 100;
string aF = LeadingZeroFormat(a), bF = LeadingZeroFormat(b), cF = LeadingZeroFormat(c);
Console.Writeline("{0}, {1}, {2}", aF, bF, cF); // "001, 010, 100" 

最もエレガントなソリューションは何ですか?

前もって感謝します。

4

3 に答える 3

47

Int32.ToString("000") を使用して、この方法で整数をフォーマットできます。詳細については、カスタム数値書式文字列とInt32.ToStringを参照してください。

string one = a.ToString("000"); // 001
string two = b.ToString("000"); // 010
于 2012-05-15T17:46:58.883 に答える
17

Reed の提案と同様に、複合フォーマット文字列で直接行うことができます。

int a = 1, b = 10, c = 100;
Console.WriteLine("{0:000}, {1:000}, {2:000}", a, b, c); // "001, 010, 100"
于 2012-05-15T17:47:50.120 に答える
3

整数を 10 進値として表示するには、その ToString(String) メソッドを呼び出し、文字列 "Dn" を format パラメーターの値として渡します。ここで、n は文字列の最小の長さを表します。

int i = 10;
Console.WriteLine(i.ToString("D3"));

方法も確認してください。数値に先行ゼロを埋め込む

于 2012-05-15T17:49:29.203 に答える