C#において数値を文字列に変換する際に桁数を指定しかつ0埋めや空白を挿入する方法は非常に重要です。
本記事ではToStringメソッドString.FormatメソッドおよびPadLeftメソッドを使用してこれらの処理を行う方法について詳しく解説します。
これらの手法を理解することで効果的なフォーマット処理が可能になります。
PadLeftで数値から文字列へ桁数指定し0埋め
int day = 9;
string formattedDay = day.ToString().PadLeft(2, '0');
フォーマット後: 09
PadLeftメソッドを使用すると文字列の左側に指定した文字で埋めることができます。
この例では1桁の日付を2桁の0埋めに変換しています。
PadLeftで桁数指定し空白埋めする
int day = 9;
string formattedDay = day.ToString().PadLeft(2);
フォーマット後: 9
同様にPadLeftメソッドにて桁数のみ指定をすると左側に空白が入り”9 ”という結果になります。
この例では1桁の日付を2桁の空白埋めに変換しています。
ToStringで数値から文字列へ桁数指定し0埋め
int number = 42;
string formattedString = number.ToString("D4");
\\フォーマット後: 0042
ToStringメソッドの引数に”D4″を指定することで数値を4桁の0埋めした文字列に変換します。
”D”などの書式指定子は数値以外にも通貨や日付などもあり以下記事で紹介しているよ
ToStringでカンマ区切りに変換
int number = 1234567;
string resultWithComma = number.ToString("N0");
ToStringメソッドに書式指定子 N を使用することで3桁ごとにカンマを挿入した文字列に変換できます。
N0の場合、小数点以下は表示されず整数としてカンマが挿入されます。
ToStringで小数点の桁数を指定し変換する
double decimalNumber = 1234567.89;
string resultWithComma = decimalNumber.ToString("N2");
小数点がある場合でもToStringメソッドの書式指定子 N を使用することで3桁ごとにカンマを挿入した文字列に変換できます。
N2の場合、小数点以下は最大2桁まで表示されます。
Formatで数値から文字列へ桁数指定し0埋め
int hours = 8;
int minutes = 3;
string formattedTime = string.Format("{0:D2}:{1:D2}", hours, minutes);
\\フォーマット後: 08:03
String.Formatメソッドでは書式指定文字列内でD2を指定することで2桁の0埋めを行います。
この例では時間と分を組み合わせて時刻を表現しています。
まとめ
本記事では、C#において数値から文字列への変換時に桁数を指定し、0埋めや空白の挿入を行う方法についてToStringメソッドString.FormatメソッドおよびPadLeftメソッドを使用して解説しました。
これらのメソッドを駆使することで柔軟で効果的なフォーマット処理を実現できます。
初心者の方もぜひ実際のコードで試してみてください。