localeconv
Locale.h:インデックス への移動
ヘッダー ファイル
locale.h
カテゴリ
その他のルーチン
プロトタイプ
struct lconv *localeconv(void);
説明
数値形式のためのロケールを問い合わせます。
この関数は、現在のロケールの、通貨やその他の数値形式についての情報を提供します。この情報は、struct lconv 型に格納されています。この構造体は、setlocale でのみ変更することができます。その後、localeconv への呼び出しは、lconv 構造体を更新します。
lconv 構造体は、locale.h で定義されています。以下のフィールドが含まれます。
char *decimal_point; |
通貨以外の形式で使用される小数点。これは、空文字列にすることはできません。 |
char *thousands_sep; |
小数点の左側の桁をグループ化するために使用される区切り文字。通貨の量には使用されません。 |
char *grouping; |
桁の各グループのサイズ。通貨金額には使用されません。 以下の表示一覧されている値を参照してください。 |
char *int_curr_symbol; |
現在のロケールの国際通貨記号。記号の形式は、ISO 4217 Codes for the Representation of Currency and Funds で指定されています。 |
char *currency_symbol; |
現在のロケールのローカル通貨記号。 |
char *mon_decimal_point; |
通貨金額の書式設定に使用される小数点。 |
char *mon_thousands_sep; |
通貨金額の小数点の左側の桁をグループ化するために使用される区切り文字。 |
char *mon_grouping; |
通貨金額で使用される桁の各グループのサイズ。 以下の表示一覧されている値を参照してください。 |
char *positive_sign; |
負の数ではない通貨金額を示す文字列。 |
char *negative_sign; |
負の数である通貨金額を示す文字列。 |
char int_frac_digits; |
国際書式で設定された通貨金額で表示される小数点後の桁数。 |
char frac_digits; |
書式設定された通貨の金額に表示される小数点後の桁数。 |
char p_cs_precedes; |
currency_symbol が、負ではない書式設定された通貨金額の前に来る場合には、1 に設定します。currency_symbol が、金額の後に来る場合は、0 に設定します。 |
char p_sep_by_space; |
currency_symbol と負ではない書式設定された通貨金額との間をスペースで区切る場合には、1 に設定します。 スペースを間にいれない場合は 0 を設定します。 |
char n_cs_precedes; |
currency_symbol が、負である書式設定された通貨金額の前に来る場合には、1 に設定します。 currency_symbol が、金額の後に来る場合は、0 に設定します。 |
char n_sep_by_space; |
currency_symbol と負である書式設定された通貨金額との間をスペースで区切る場合には、1 に設定します。 スペースを間にいれない場合は 0 を設定します。 |
char p_sign_posn; |
負ではない書式設定された通貨金額において、正の符号の位置を示します。 |
char n_sign_posn; |
負ではない書式設定された通貨金額において、負の符号の位置を示します。 |
空文字列 " " である上記の文字列はいずれも(decimal_point を除く)、現在のロケールにおいてサポートされていません。文字列ではない char 要素は、負ではない数値です。CHAR_MAX に設定されている文字列ではない char 要素はいずれも、要素が現在のロケールでサポートされていないことを示しています。
grouping および mon_grouping の要素は、次のように設定および解釈されます:
CHAR_MAX |
グループ化は行われない。 |
0 |
残りの桁で、前の要素が繰り返し使用される。 |
その他の整数 |
現在のグループを構成する桁数を示します。次の要素が読み込まれ、現在のグループの前の、次の桁グループのサイズを決定します。 |
p_sign_posn および n_sign_posn の要素は、次のように設定および解釈されます:
0 |
かっこを使用して、金額と通貨記号を囲む |
1 |
符号文字列が、金額と通貨記号の前に来る |
2 |
符号文字列が、金額と通貨記号の後に来る |
3 |
符号文字列が、金額と通貨記号の直前に来る |
4 |
符号文字列が、金額と通貨記号の直後に来る |
戻り値
値が設定された struct 型の構造体 lconv へのポインタを返します。構造体の値は、setlocale が LC_MONETARY または LC_NUMERIC カテゴリを変更すると常に変わります。
例
#include <locale.h>
#include <stdio.h>
int main(void)
{
struct lconv ll;
struct lconv *conv = ≪
/* read the locality conversion structure */
conv = localeconv();
/* display the structure */
printf("Decimal Point : %s\n", conv-> decimal_point);
printf("Thousands Separator : %s\n", conv-> thousands_sep);
printf("Grouping : %s\n", conv-> grouping);
printf("International Currency symbol : %s\n", conv-> int_curr_symbol);
printf("$ thousands separator : %s\n", conv-> mon_thousands_sep);
printf("$ grouping : %s\n", conv-> mon_grouping);
printf("Positive sign : %s\n", conv-> positive_sign);
printf("Negative sign : %s\n", conv-> negative_sign);
printf("International fraction digits : %d\n", conv-> int_frac_digits);
printf("Fraction digits : %d\n", conv-> frac_digits);
printf("Positive $ symbol precedes : %d\n", conv-> p_cs_precedes);
printf("Positive sign space separation: %d\n", conv-> p_sep_by_space);
printf("Negative $ symbol precedes : %d\n", conv-> n_cs_precedes);
printf("Negative sign space separation: %d\n", conv-> n_sep_by_space);
printf("Positive sign position : %d\n", conv-> p_sign_posn);
printf("Negative sign position : %d\n", conv-> n_sign_posn);
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |