名前空間
変種
操作

std::lconv

From cppreference.com
< cpp‎ | locale
 
 
 
 
ヘッダー <clocale> で定義
struct lconv;

クラスstd::lconvは、Cロケールで定義された数値および通貨のフォーマット規則を含みます。この構造体のオブジェクトは、std::localeconvで取得できます。std::lconvのメンバーは、char型およびchar*型の値です。decimal_point以外のすべてのchar*メンバーは、ヌル文字(つまり、空のC文字列)を指している可能性があります。char型のメンバーはすべて非負の数値であり、現在のCロケールで対応する値が利用できない場合は、いずれもCHAR_MAXになる可能性があります。

目次

[編集] メンバーオブジェクト

[編集] 非通貨数値フォーマットパラメータ

char* decimal_point
小数点として使用される文字
(public メンバーオブジェクト)
char* thousands_sep
小数点より前の桁のグループを区切るために使用される文字
(public メンバーオブジェクト)
char* grouping
桁グループのサイズを示す要素の文字列
(public メンバーオブジェクト)

[編集] 通貨数値フォーマットパラメータ

char* mon_decimal_point
小数点として使用される文字
(public メンバーオブジェクト)
char* mon_thousands_sep
小数点より前の桁のグループを区切るために使用される文字
(public メンバーオブジェクト)
char* mon_grouping
桁グループのサイズを示す要素の文字列
(public メンバーオブジェクト)
char* positive_sign
非負の通貨数量を示すために使用される文字列
(public メンバーオブジェクト)
char* negative_sign
負の通貨数量を示すために使用される文字列
(public メンバーオブジェクト)

[編集] ローカル通貨数値フォーマットパラメータ

char* currency_symbol
現在のCロケールでの通貨に使用されるシンボル
(public メンバーオブジェクト)
char frac_digits
通貨数量で小数点以下に表示する桁数
(public メンバーオブジェクト)
char p_cs_precedes
1通貨シンボルが非負の値の前に置かれる場合、0値の後ろに置かれる場合
(public メンバーオブジェクト)
char n_cs_precedes
1通貨シンボルが負の値の前に置かれる場合、0値の後ろに置かれる場合
(public メンバーオブジェクト)
char p_sep_by_space
currency_symbolpositive_sign、および非負の通貨値の区切りを示す
(public メンバーオブジェクト)
char n_sep_by_space
currency_symbolnegative_sign、および負の通貨値の区切りを示す
(public メンバーオブジェクト)
char p_sign_posn
非負の通貨値におけるpositive_signの位置を示す
(public メンバーオブジェクト)
char n_sign_posn
負の通貨値におけるnegative_signの位置を示す
(public メンバーオブジェクト)

[編集] 国際通貨数値フォーマットパラメータ

char* int_curr_symbol
現在のCロケールでの国際通貨名として使用される文字列
(public メンバーオブジェクト)
char int_frac_digits
国際通貨数量で小数点以下に表示する桁数
(public メンバーオブジェクト)
char int_p_cs_precedes
(C++11)
1国際通貨シンボルが非負の国際通貨値の前に置かれる場合、0値の後ろに置かれる場合
(public メンバーオブジェクト)
char int_n_cs_precedes
(C++11)
1国際通貨シンボルが負の国際通貨値の前に置かれる場合、0値の後ろに置かれる場合
(public メンバーオブジェクト)
char int_p_sep_by_space
(C++11)
int_curr_symbolpositive_sign、および非負の国際通貨値の区切りを示す
(public メンバーオブジェクト)
char int_n_sep_by_space
(C++11)
int_curr_symbolnegative_sign、および負の国際通貨値の区切りを示す
(public メンバーオブジェクト)
char int_p_sign_posn
(C++11)
非負の国際通貨値におけるpositive_signの位置を示す
(public メンバーオブジェクト)
char int_n_sign_posn
(C++11)
負の国際通貨値におけるnegative_signの位置を示す
(public メンバーオブジェクト)


groupingおよびmon_groupingが指すC文字列の文字は、それらの数値に基づいて解釈されます。終端の'\0'に遭遇すると、最後に見られた値が残りの桁に繰り返されると想定されます。CHAR_MAXに遭遇すると、それ以上の桁はグループ化されません。3桁ずつの典型的なグループ化は"\003"です。

p_sep_by_spacen_sep_by_spaceint_p_sep_by_spaceint_n_sep_by_spaceの値は次のように解釈されます。

0 通貨シンボルと値の間にスペースはありません
1 記号は通貨シンボルに付加され、値はスペースで区切られます
2 記号は値に付加され、通貨シンボルはスペースで区切られます

p_sign_posnn_sign_posnint_p_sign_posnint_n_sign_posnの値は次のように解釈されます。

0 値と通貨シンボルの周りに括弧が使用されて記号を表します
1 値と通貨シンボルの前に記号があります
2 値と通貨シンボルの後に記号があります
3 通貨シンボルの前に記号があります
4 通貨シンボルの後に記号があります

[編集]

#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_getstd::money_put で使用される通貨書式設定パラメータを定義する
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)