lconv
|
定義済みヘッダー
<locale.h>
|
||
|
struct
lconv
;
|
||
lconv
構造体は、Cロケールで定義される数値および通貨の書式設定ルールを含みます。この構造体のオブジェクトは
localeconv
で取得できます。
lconv
のメンバーは
char
型と
char
*
型の値です。
decimal_point
を除く各
char
*
メンバーは、ヌル文字(空のC文字列)を指している可能性があります。
char
型のメンバーはすべて非負の数値であり、現在のCロケールで対応する値が利用できない場合は、いずれも
CHAR_MAX
となる可能性があります。
目次 |
メンバーオブジェクト
非通貨数値フォーマットパラメータ
|
char*
decimal_point
|
小数点として使用される文字
(public member object) |
|
char*
thousands_sep
|
小数点の前で数字のグループを区切るために使用される文字
(public member object) |
|
char*
grouping
|
要素が数字グループのサイズを示す文字列
(public member object) |
通貨数値書式設定パラメータ
|
char*
mon_decimal_point
|
小数点として使用される文字
(public member object) |
|
char*
mon_thousands_sep
|
小数点の前の数字グループを区切るために使用される文字
(public member object) |
|
char*
mon_grouping
|
要素が数字グループのサイズを示す文字列
(public member object) |
|
char*
positive_sign
|
非負の通貨量を示すために使用される文字列
(public member object) |
|
char*
negative_sign
|
負の通貨量を示すために使用される文字列
(public member object) |
ローカル通貨数値書式設定パラメータ
|
char*
currency_symbol
|
現在のCロケールで使用される通貨記号
(public member object) |
|
char
frac_digits
|
通貨数量の表示における小数点以下の桁数
(public member object) |
|
char
p_cs_precedes
|
1
非負の値の前に
currency_symbol
が配置される場合は
1
、後ろの場合は
0
(public member object) |
|
char
n_cs_precedes
|
1
負の値の前に
currency_symbol
が配置される場合は
1
、後ろの場合は
0
(public member object) |
|
char
p_sep_by_space
|
currency_symbol
、
positive_sign
と非負の通貨値の間の区切りを示す
(public member object) |
|
char
n_sep_by_space
|
currency_symbol
、
negative_sign
と負の通貨値の間の区切りを示す
(public member object) |
|
char
p_sign_posn
|
非負の通貨値における
positive_sign
の位置を示す
(public member object) |
|
char
n_sign_posn
|
負の通貨値における
negative_sign
の位置を示す
(public member object) |
国際通貨数値書式設定パラメータ
|
char*
int_curr_symbol
|
現在のCロケールで国際通貨名として使用される文字列
(public member object) |
|
char
int_frac_digits
|
国際通貨数量の表示時に小数点以下に表示する桁数
(public member object) |
|
char
int_p_cs_precedes
(C99)
|
1
非負の国際通貨値の前に
int_curr_symbol
が配置される場合は
1
、後ろの場合は
0
(public member object) |
|
char
int_n_cs_precedes
(C99)
|
1
負の国際通貨値の前に
int_curr_symbol
が配置される場合は
1
、後ろの場合は
0
(public member object) |
|
char
int_p_sep_by_space
(C99)
|
int_curr_symbol
、
positive_sign
と非負の国際通貨値の間の区切りを示す
(public member object) |
|
char
int_n_sep_by_space
(C99)
|
int_curr_symbol
、
negative_sign
と負の国際通貨値の間の区切りを示す
(public member object) |
|
char
int_p_sign_posn
(C99)
|
非負の国際通貨値における
positive_sign
の位置を示す
(public member object) |
|
char
int_n_sign_posn
(C99)
|
負の国際通貨値における
negative_sign
の位置を示す
(public member object) |
grouping および mon_grouping によって指されるC文字列の文字は、その数値に従って解釈されます。終端の ' \0 ' に達すると、最後に確認された値が残りの桁に対して繰り返されると見なされます。 CHAR_MAX に達すると、それ以上の桁はグループ化されません。一般的な3桁ごとのグループ化は " \003 " です。
p_sep_by_space 、 n_sep_by_space 、 int_p_sep_by_space 、 int_n_sep_by_space の値は以下のように解釈されます:
| 0 | 通貨記号と数値の間にスペースを挿入しない |
| 1 | 符号は通貨記号に隣接し、数値はスペースで区切られる |
| 2 | 符号は数値に隣接し、通貨記号はスペースで区切られる |
p_sign_posn 、 n_sign_posn 、 int_p_sign_posn 、 int_n_sign_posn の値は以下のように解釈されます:
| 0 | 値と通貨記号を括弧で囲んで符号を表す |
| 1 | 値と通貨記号の前に符号を配置 |
| 2 | 値と通貨記号の後に符号を配置 |
| 3 | 通貨記号の前に符号を配置 |
| 4 | 通貨記号の後に符号を配置 |
例
#include <locale.h> #include <stdio.h> int main(void) { setlocale(LC_ALL, "ja_JP.UTF-8"); struct lconv* lc = localeconv(); printf("Japanese currency symbol: %s(%s)\n", lc->currency_symbol, lc->int_curr_symbol); }
出力例:
Japanese currency symbol: ¥(JPY )
参考文献
- C23規格 (ISO/IEC 9899:2024):
-
- 7.11/2 ローカライゼーション <locale.h> (p: TBD)
- C17規格 (ISO/IEC 9899:2018):
-
- 7.11/2 ローカライゼーション <locale.h> (p: TBD)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.11/2 ローカライゼーション <locale.h> (p: 223)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.11/2 ロケール <locale.h> (p: 204)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 4.4 ローカライゼーション <locale.h>
関連項目
|
現在のロケールの数値および通貨書式設定の詳細を問い合わせる
(関数) |
|
|
C++ documentation
for
lconv
|
|