C#ではToStringメソッドやString.Formatメソッドを使って文字列のフォーマットを行うことができます。
この記事ではこれらのメソッドで利用できるフォーマットについて解説します。
初心者の方でもわかりやすく実用的なフォーマットに焦点を当てていきましょう。
ToStringメソッドの基本的な使い方
数値のフォーマット
数値を文字列に変換する際によく使用されるフォーマットです。
int number = 123;
double value = 3.141592;
// 整数
string formattedNumber = number.ToString("D");
Console.WriteLine(formattedNumber);
// 出力: "123"
// 小数点以下2桁まで表示
string formattedValue = value.ToString("F2");
Console.WriteLine(formattedValue);
// 出力: "3.14"
日付のフォーマット
日付を文字列に変換する場合のフォーマットです。
DateTime date = DateTime.Now;
// 年月日
string formattedDate1 = date.ToString("yyyy/MM/dd");
Console.WriteLine(formattedDate1);
// 出力: "2024/01/19"
// 月日年 時:分
string formattedDate2 = date.ToString("MM/dd/yyyy HH:mm");
Console.WriteLine(formattedDate2);
// 出力: "01/19/2024 13:45"
String.Formatメソッドの使い方
String.Formatを使用することでToStringでは難しい複数の変数を同時にフォーマットができます。
int number = 123;
double value = 3.141592;
DateTime date = DateTime.Now;
string formattedValues = String.Format("Number: {0:D}, Value: {1:F2}, Date: {2:yyyy/MM/dd}", number, value, date);
Console.WriteLine(formattedValues);
// 出力: "Number: 123, Value: 3.14, Date: 2024/01/19"
ガマくん
0埋めや空白埋めについては以下記事で紹介してるよ
[C#]数値から文字列へ桁数指定で0埋め!小数点やカンマの変換方法
C#において数値を文字列に変換する際に桁数を指定しかつ0埋めや空白を挿入する方法は非常に重要です。本記事ではToStringメソッドString.FormatメソッドおよびPadLeftメソッドを使用してこれらの処理を行う方法について詳しく解説します。
広告
フォーマット一覧
以下は、代表的なフォーマットの一覧です。
詳細なフォーマットについては公式ドキュメントを参照してください。
整数
D: 10進数
int number = 123;
string result = number.ToString("D"); // "123"
C: 通貨
int amount = 1000;
string result = amount.ToString("C"); // "¥1,000"
N: 数値(カンマ区切り)
int value = 1000000;
string result = value.ToString("N"); // "1,000,000"
浮動小数点数
F: 固定小数点
double number = 123.456;
string result = number.ToString("F2"); // "123.46"
P: パーセント
double percentage = 0.75;
string result = percentage.ToString("P"); // "75.00%"
指数表記(E)
double value = 123456789;
string result = value.ToString("E"); // "1.234568E+008"
日付および時刻
d:日付
DateTime currentDate = DateTime.Now;
string result = currentDate.ToString("d"); // "2024/01/01"
t:短い時刻形式
DateTime currentTime = DateTime.Now;
string result = currentTime.ToString("t"); // "14:30"
T:長い時刻形式
DateTime currentTime = DateTime.Now;
string result = currentTime.ToString("T"); // "14:30:00"
カスタム書式
yyyy: 年(4桁)
DateTime date = DateTime.Now;
string result = date.ToString("yyyy"); // "2024"
MM: 月
DateTime date = DateTime.Now;
string result = date.ToString("MM"); // "01"
dd: 日
DateTime date = DateTime.Now;
string result = date.ToString("dd"); // "01"
これらのフォーマットを組み合わせて様々な形式で文字列を生成することができます。
ぜひ使いながら覚えていきましょう。
広告
まとめ
C#での文字列フォーマットには様々なオプションがありますが、
基本的なフォーマットを押さえておくことで、便利に文字列を扱うことができます。
特に数値や日付のフォーマットは頻繁に使用されるためしっかりと理解しておくと良いでしょう。