Skip to content

Commit c48319e

Browse files
committed
オプション書式におけるロケールのオプションを修正
1 parent 6224e96 commit c48319e

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

reference/format/format.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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 "
245244
format("{}", 42); // "42"
246245
format("{0:b} {0:d} {0:o} {0:x}", 42); // "101010 42 52 2a"
247246
format("{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

Comments
 (0)