EN JA
LOCALECONV(3)
LOCALECONV(3) FreeBSD Library Functions Manual LOCALECONV(3)

名称

localeconvC のための自然言語の書式

ライブラリ

Standard C Library (libc, -lc)

書式

#include < locale.h>

struct lconv *
localeconv( void);

#include < xlocale.h>

struct lconv *
localeconv_l( locale_t locale);

解説

localeconv() 関数は、数字、特に通貨値の書式付けのためのパラメータを提供する構造体へのポインタを返します:

struct lconv { 
 char *decimal_point; 
 char *thousands_sep; 
 char *grouping; 
 char *int_curr_symbol; 
 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; 
 char p_sep_by_space; 
 char n_cs_precedes; 
 char n_sep_by_space; 
 char p_sign_posn; 
 char n_sign_posn; 
 char int_p_cs_precedes; 
 char int_n_cs_precedes; 
 char int_p_sep_by_space; 
 char int_n_sep_by_space; 
 char int_p_sign_posn; 
 char int_n_sign_posn; 
};

個々のフィールドは、次の意味を持っています:

decimal_point
通貨値を除いて、小数点文字です。空の文字列であってはなりません。
thousands_sep
通貨値を除いて、小数点の前の桁のグループ間のセパレータ (分離記号) です。
grouping
通貨値を除いて、桁のグループのサイズです。これは、低い位の桁から高い位の桁 (右から左) までのグループのサイズを表すそれぞれのサイズ char 整数の配列へのポインタです。リストは、0 または CHAR_MAX で終わりかもしれません。リストが 0 で終了する場合、0 の前の最後のグループのサイズは、全ての桁を計算するために繰り返されます。リストが CHAR_MAX で終了する場合、それ以上のグループ化は、実行されません。
int_curr_symbol
標準化された国際通貨記号です。
currency_symbol
ローカルな (現地) 通貨記号です。
mon_decimal_point
通貨値のための小数点文字です。
mon_thousands_sep
通貨値内の桁をグループ化するためのセパレータ (分離記号) です。
mon_grouping
通貨値がなければ、 grouping に類似します。
positive_sign
非負の通貨値を表示するために使用される文字で、通常は、空の文字列です。
negative_sign
負の通貨値を表示するために使用される文字で、通常は、マイナス符号です。
int_frac_digits
国際的スタイルの通貨値で小数点の後の桁数です。
frac_digits
通貨値のためのローカルスタイルで小数点の後の桁数です。
p_cs_precedes
通価シンボルが非負の値のための通貨値に先行する場合は、1、続く場合は、0 です。
p_sep_by_space
空白が非負の値のための通貨シンボルと通貨値の間に挿入される場合は、1、そうでない場合には、0 です。
n_cs_precedes
負の値がなければ p_cs_precedes に類似します。
n_sep_by_space
負の値がなければ p_sep_by_space に類似します。
p_sign_posn
非負の量および currency_symbol に関する positive_sign の位置です。コードは、次の通りです:

0
文字列全体を囲む丸括弧です。
1
文字列の前です。
2
文字列の後です。
3
currency_symbol の直前です。
4
currency_symbol の直後です。
n_sign_posn
負の通貨値がなければ p_sign_posn に類似します。
int_p_cs_precedes
国際的に書式付けられた通貨量を除いて、 p_cs_precedes と同じです。
int_n_cs_precedes
国際的に書式付けられた通貨量を除いて、 n_cs_precedes と同じです。
int_p_sep_by_space
国際的に書式付けられた通貨量を除いて、 p_sep_by_space と同じです。
int_n_sep_by_space
国際的に書式付けられた通貨量を除いて、 n_sep_by_space と同じです。
int_p_sign_posn
国際的に書式付けられた通貨量を除いて、 p_sign_posn と同じです。
int_n_sign_posn
国際的に書式付けられた通貨量を除いて、 n_sign_posn と同じです。

前述されなければ、フィールドの値としての空の文字列は、結果の長さがゼロであるか、または現在のロケールにはない値を示します。 CHAR_MAX の結果は、同様に利用できない値を表示します。

localeconv_l() 関数は、明示的なロケールパラメータを取ります。詳細については、 xlocale(3) を参照してください。

戻り値

localeconv() 関数は、 setlocale(3) または localeconv() の後の呼び出しで変更されるかもしれない静的オブジェクトへのポインタを返します。 localeconv_l() のための返り値は、ロケールで格納されます。その後の freelocale(3) の呼び出しまで有効なままです。スレッドローカルなロケールが有効であるなら、 localeconv() からの返り値は、ロケールが破壊されるまで、有効なままです。

エラー

エラーは、定義されません。

関連項目

setlocale(3), strfmon(3)

規格

localeconv() 関数は、 ISO/IEC 9899:1999 (“ISO C99”) に適合しています。

歴史

localeconv() 関数は、 4.4BSD ではじめて登場しました。
November 21, 2003 FreeBSD