localeconv

提供: RAD Studio
移動先: 案内検索

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 = &ll;
 /* 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++

+

+

+

+