string strI;
for (int i = 1; i < 100; i++)
strI = i.ToString();
ここで、もしi = 1
、その後ToString
利回り"1"
しかし、私は取得したいです "01"
か"001"
かなり簡単に見えますが、記事は
datetime.ToString("yyyy-MM-dd")`
tostirng
DateTime.ToString
。
string strI;
for (int i = 1; i < 100; i++)
strI = i.ToString();
ここで、もしi = 1
、その後ToString
利回り"1"
しかし、私は取得したいです "01"
か"001"
かなり簡単に見えますが、記事は
datetime.ToString("yyyy-MM-dd")`
tostirng
DateTime.ToString
。
回答:
i.ToString("00")
または
i.ToString("000")
あなたが望むものに応じて
その他のオプションについては、カスタム数値フォーマット文字列に関するMSDNの記事を参照してください。http://msdn.microsoft.com/en-us/library/0c899ak8(VS.71).aspx
受け入れられた答えは良くて速いです:
i.ToString("00")
または
i.ToString("000")
さらに複雑さが必要な場合は、String.Formatを試してみる価値があります。
var str1 = "";
var str2 = "";
for (int i = 1; i < 100; i++)
{
str1 = String.Format("{0:00}", i);
str2 = String.Format("{0:000}", i);
}
以下のためのi = 10
ケース:
str1: "10"
str2: "010"
たとえば、これを使用して、フォーム上の特定のラベルコントロールのテキストを名前でクリアします。
private void EmptyLabelArray()
{
var fmt = "Label_Row{0:00}_Col{0:00}";
for (var rowIndex = 0; rowIndex < 100; rowIndex++)
{
for (var colIndex = 0; colIndex < 100; colIndex++)
{
var lblName = String.Format(fmt, rowIndex, colIndex);
foreach (var ctrl in this.Controls)
{
var lbl = ctrl as Label;
if ((lbl != null) && (lbl.Name == lblName))
{
lbl.Text = null;
}
}
}
}
}
ToStringはフォーマットを取ることができます。試してください:
i.ToString("000");
誰もこれを提案しなかったなんて信じられない:
int i = 9;
i.ToString("D2"); // Will give you the string "09"
または
i.ToString("D8"); // Will give you the string "00000009"
16進数が必要な場合:
byte b = 255;
b.ToString("X2"); // Will give you the string "FF"
ロケールの通貨記号を使用する場合は、「C」だけを使用して通貨として表示することもできます。こちらをご覧ください:https : //docs.microsoft.com/en-us/dotnet/api/system.int32.tostring?view=netframework-4.7.2#System_Int32_ToString_System_String_
このブログ投稿は、文字列をさまざまな形式にフォーマットしようとするときに便利な小さなチートシートです。
削除されたトロイの木馬へのリンク
編集する
サイト(または関連サイト)が悪意のあるソフトウェアを拡散している可能性があることをGoogleが一時的に警告したため、リンクは削除されました。現在はリストから外れており、問題があるとは報告されていません。グーグルの「SteveX String Formatting」には検索結果があり、自由にアクセスできます。
このようにすることもできます
private static string GetPaddingSequence(int padding)
{
StringBuilder SB = new StringBuilder();
for (int i = 0; i < padding; i++)
{
SB.Append("0");
}
return SB.ToString();
}
public static string FormatNumber(int number, int padding)
{
return number.ToString(GetPaddingSequence(padding));
}
最後に、関数FormatNumberを呼び出します。
string x = FormatNumber(1,2);
出力は、パディングパラメータに基づく01になります。増やすと0の数が増えます
tostirng
はありません。また、プログラマーに対して、0x
16進数の基数を参照していることを示唆しています。あなたは「先行ゼロ」を探しています。