この方法のように必要ならば、私は接頭辞0と整数の文字列を構築しています:整数の先頭に0を付けた文字列を作成する簡単な方法は?
// myInt as input, for example: 101;
List<string> sList = new List<string>();
string format = "00#"; // how to build format dynamicall?
for(int i= 1; i <= myInt; i++)
{
sList.Add(i.ToString(format));
}
が期待される結果は次のようになります。
001
002
...
010
...
101
私の整数が10または1000の場合は、どのようにすることができます私はフォーマットを動的に構築しますか?別の方法としては、フォーマットをスキップすることができ
List<string> sList = new List<string>();
string format = "#".PadLeft(myInt.ToString().Length, '0');
for(int i= 1; i <= myInt; i++)
{
sList.Add(i.ToString(format));
}
:ビットgrottyは、それがうまくいく:)
言い換えれば - どの程度"#".PadLeft(desiredWidth, '0')
あなたはmyInt.ToString().Length
からdesiredWidth
を得ることができる
しかし、C#は暗黙的にMath.Ceiling(double)の結果をintに変換できますか? –
また、それはより速いかもしれませんが、一度呼び出されるとどれくらい速くなりますか? –
それは良い点です。 ここに入力しましたが、長さを取得するために変換が必要です。 もう1つの問題は、最大値が10^n(たとえば:100)で、nを得る(たとえば:2)場合、この場合は3ではないことです。 – opello