std::lconv
提供: cppreference.com
ヘッダ <clocale> で定義
|
||
struct lconv; |
||
クラス std::lconv
は C のロケールによって定義される数値および金額の書式化ルールを格納します。 この構造体のオブジェクトは std::localeconv で取得することができます。 std::lconv
のメンバは char 型と char* 型の値です。 decimal_point
を除くそれぞれの char* のメンバはヌル文字を指している (つまり空の C の文字列) かもしれません。 char 型のメンバはすべて非負の数値で、それらはいずれも対応する値が現在の C のロケールで利用可能でなければ CHAR_MAX になることがあります。
目次 |
[編集] メンバオブジェクト
[編集] 非金額数値の書式化パラメータ
char* decimal_point |
小数点として使用される文字 (パブリックメンバオブジェクト) |
char* thousands_sep |
小数点の前の桁グループを区切るために使用される文字 (パブリックメンバオブジェクト) |
char* grouping |
要素が桁グループのサイズを表す文字列 (パブリックメンバオブジェクト) |
[編集] 金額数値の書式化パラメータ
char* mon_decimal_point |
小数点として使用される文字列 (パブリックメンバオブジェクト) |
char* mon_thousands_sep |
小数点の前の桁グループを区切るために使用される文字 (パブリックメンバオブジェクト) |
char* mon_grouping |
要素が桁グループのサイズを表す文字列 (パブリックメンバオブジェクト) |
char* positive_sign |
非負の金額を表すために使用される文字列 (パブリックメンバオブジェクト) |
char* negative_sign |
負の金額を表すために使用される文字列 (パブリックメンバオブジェクト) |
[編集] 地域の金額数値の書式化パラメータ
char* currency_symbol |
現在の C のロケールにおいて通貨のために使用される記号 (パブリックメンバオブジェクト) |
char frac_digits |
金額を表示するための小数点以下の桁数 (パブリックメンバオブジェクト) |
char p_cs_precedes |
currency_symbol を非負の値の前に置く場合は 1、後に置く場合は 0 (パブリックメンバオブジェクト) |
char n_cs_precedes |
currency_symbol を負の値の前に置く場合は 1、後に置く場合は 0 (パブリックメンバオブジェクト) |
char p_sep_by_space |
currency_symbol , positive_sign および非負の金額値の区切りを示します (パブリックメンバオブジェクト) |
char n_sep_by_space |
currency_symbol , negative_sign および負の金額値の区切りを示します (パブリックメンバオブジェクト) |
char p_sign_posn |
非負の金額値における positive_sign の位置を示します (パブリックメンバオブジェクト) |
char n_sign_posn |
負の金額値における negative_sign の位置を示します (パブリックメンバオブジェクト) |
[編集] 国際的な金額数値の書式化パラメータ
char* int_curr_symbol |
現在の C のロケールにおいて国際的な通貨名として使用される文字列 (パブリックメンバオブジェクト) |
char int_frac_digits |
国際的な金額を表示するための小数点以下の桁数 (パブリックメンバオブジェクト) |
char int_p_cs_precedes (C++11) |
int_curr_symbol を非負の国際的な金額値の前に置く場合は 1、後に置く場合は 0 (パブリックメンバオブジェクト) |
char int_n_cs_precedes (C++11) |
int_curr_symbol を負の国際的な金額値の前に置く場合は 1、後に置く場合は 0 (パブリックメンバオブジェクト) |
char int_p_sep_by_space (C++11) |
int_curr_symbol , positive_sign および非負の国際的な金額値の区切りを示します (パブリックメンバオブジェクト) |
char int_n_sep_by_space (C++11) |
int_curr_symbol , negative_sign および負の国際的な金額値の区切りを示します (パブリックメンバオブジェクト) |
char int_p_sign_posn (C++11) |
非負の国際的な金額値における positive_sign の位置を示します (パブリックメンバオブジェクト) |
char int_n_sign_posn (C++11) |
負の国際的な金額値における negative_sign の位置を示します (パブリックメンバオブジェクト) |
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 | 通貨記号の後に符号が付きます |
[編集] 例
Run this code
#include <clocale> #include <iostream> int main() { std::setlocale(LC_ALL, "ja_JP.UTF-8"); std::lconv* lc = std::localeconv(); std::cout << "Japanese currency symbol: " << lc->currency_symbol << '(' << lc->int_curr_symbol << ")\n"; }
出力:
Japanese currency symbol: ¥(JPY )
[編集] 関連項目
現在のロケールの数値および金額の書式の詳細を問い合わせます (関数) | |
数値の区切り文字の規則を定義します (クラステンプレート) | |
std::money_get および std::money_put で使用される金額の書式パラメータを定義します (クラステンプレート) | |
lconv の C言語リファレンス
|