string.Format() や ToString() などで使う書式指定子の解説
引数指定
何番目の引数を使うかを数値で指定。
string.Format("{1} {1} {0}", 12, 34); 34 34 12
10進数
書式指定子に D or d 。
string.Format("{1:D} {0:D}", 12, 34); 34 12
{1:D} の 1 は引数の番号を指定。 D で10進数を指定。この場合は 34 を10進数で表示。
string.Format("{1:d} {0:d}", 12, 34); 34 12
小文字 d でもOK、違いは無い。
浮動小数点数
書式指定子に F or f 。
string.Format("{0:F}", 1234.5678); 1234.57
小数点以下の桁数指定を省略した時は NumberFormatInfo の設定によって変わります。
string.Format("{0:f}", 1234.5678); 1234.57
小文字の f でもOK、違いは無い。
string.Format("{0:F1}", 1234.5678); 1234.6
小数点以下の桁数1表示。
string.Format("{0:F3}", 1234.5678); 1234.56780
小数点以下の桁数5表示。
16進数
書式指定子に X or x 。
string.Format("{0:X} {1:X}", 15, 16); F 10
string.Format("{0:x} {1:x}", 15, 16); f 10
X の場合にはアルファベット部分を大文字、 x の場合は小文字で表示。
型によっていい感じに表示
書式指定子に G or 無し。
string.Format("{0:G}", 12345.6789); 12345.6789
string.Format("{0}", 12345.6789); 12345.6789
string.Format("{0:G}", 123); 123
string.Format("{0}", 123); 123
金額
書式指定子に C 。
string.Format("{0:C}", 1200); $1,200.00
string.Format(new System.Globalization.CultureInfo("ja-JP"), "{0:C}", 1200); ¥1,200 (1200).ToString("C", new System.Globalization.CultureInfo("ja-JP")); ¥1,200
日本のカルチャを指定した時。日本の金額表示の為、$が¥マークに変わり、小数点部分が無くなっている事が確認できます。
ゼロ埋め
書式指定子の後に桁数。
string.Format("{0:D5} {1:D3}", 12, 34); 00012 034
D5 の場合は5桁を指定。
桁数揃え
, の直後に数値で指定。書式指定子を使う場合には : で区切る。
string.Format("|{0,3}|", 12); | 12|
string.Format("|{0,3:D}|", 12); | 12|
string.Format("|{0,3:X}|", 12); | C|
string.Format("|{0,-3}|", 12); |12 |
マイナスの数値を指定すると左揃え。
string.Format("|{0,-3:D}|", 12); |12 |
string.Format("|{0,-3:X}|", 12); |C |
関連情報
標準の数値書式指定子
https://msdn.microsoft.com/ja-jp/library/dwhawy9k(v=vs.80).aspx
カルチャと書式・テキスト処理・暦 - Programming/.NET Framework/ロケール(カルチャ) - 総武ソフトウェア推進所
http://smdn.jp/programming/netfx/locale/1_infoes/