std::lconv
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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言語リファレンス
|