@@ -72,7 +72,7 @@ string s3 = format("{} {1}", "a", "b"); // コンパイルエラー
7272基本的に` printf ` の書式を踏襲しているが、あくまでもオプションであり、省略しても` <iostream> ` と同じようにデフォルトの書式が使われる。
7373
7474```
75- [[fill] align] [sign] ['#'] ['0'] [width] ['.' precision] [type]
75+ [[fill] align] [sign] ['#'] ['0'] [width] ['.' precision] ['L'] [ type]
7676```
7777
7878* ` fill ` : アライメントに使う文字 (デフォルト: スペース)
@@ -90,9 +90,10 @@ string s3 = format("{} {1}", "a", "b"); // コンパイルエラー
9090 * 置換フィールドを使って変数で指定できる
9191* ` precision ` : 精度(浮動小数点数の場合)、使う文字数(文字列の場合)
9292 * 置換フィールドを使って変数で指定できる
93+ * ` L ` : ロケールを考慮する
9394* ` type ` : 値の表現方法(表を参照)
9495
95- ` printf ` との違いとして、デフォルトではロケール非依存(Cロケール固定)である。ロケール依存のフォーマットをするには` n ` オプションを使う。
96+ ` printf ` との違いとして、デフォルトではロケール非依存(Cロケール固定)である。ロケール依存のフォーマットをするには` L ` オプションを使う。
9697ロケール非依存の場合、算術型の出力は[ ` to_chars ` ] ( /reference/charconv/to_chars.md ) と同じになる。
9798
9899#### 文字列型の場合
@@ -115,7 +116,6 @@ string s3 = format("{} {1}", "a", "b"); // コンパイルエラー
115116| B | 2進数(大文字) | ` b ` の大文字版 (代替表現の接頭辞 ` 0B ` ) | C++20 |
116117| c | 文字として出力 | ` static_cast<charT>(value) ` (収まらないときは` format_error ` ) | C++20 |
117118| d | 10進数 | ` to_chars(first, last, value) ` | C++20 |
118- | n | 10進数(ロケールを考慮する) | ロケール依存の桁区切りを使った` d ` | C++20 |
119119| o | 8進数 | ` to_chars(first, last, value, 8) ` (代替表現の接頭辞 ` 0 ` 、ただし値が0のときは接頭辞なし) | C++20 |
120120| x | 16進数(小文字) | ` to_chars(first, last, value, 16) ` (代替表現の接頭辞 ` 0x ` ) | C++20 |
121121| X | 16進数(大文字) | ` x ` の大文字版 (代替表現の接頭辞 ` 0X ` ) | C++20 |
@@ -133,7 +133,6 @@ string s3 = format("{} {1}", "a", "b"); // コンパイルエラー
133133| A | 16進指数表記(大文字) | ` a ` の大文字版 |
134134| g | 値に応じた表記(小文字) | ` to_chars(first, last, value, chars_format::general, precision) ` (精度が指定されたとき)<br />` to_chars(first, last, value, chars_format::general, 6) ` (それ以外) |
135135| G | 値に応じた表記(大文字) | ` g ` の大文字版 |
136- | n | ロケールを考慮した値に応じた表記 | ロケールを考慮した` g ` |
137136| (なし) | デフォルト | ` to_chars(first, last, value, chars_format::fixed, general, precision) ` (精度が指定されたとき)<br />` to_chars(first, last, value) ` (それ以外) |
138137
139138#### ポインタの場合
@@ -245,7 +244,7 @@ format("{:<06}", -42); // "-42 "
245244format ("{}", 42); // "42"
246245format("{0: b } {0: d } {0: o } {0: x }", 42); // "101010 42 52 2a"
247246format("{0:#x} {0:#X}", 42); // "0x2a 0X2A"
248- format("{: n }", 1234); // "1,234" (ロケールによる)
247+ format("{: L }", 1234.5678 ); // "1,234.5678 " (ロケールによる)
249248```
250249
251250### コンパイル時の書式文字列チェック
0 commit comments