std::lconv
来自 cppreference.cn
                    
                                        
                    
                    
                                                            
                    | 定义于头文件  <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,则不再对数字进行分组。典型的一次分组三个数字是 "\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 | 符号在货币符号之后 | 
[编辑] 示例
运行此代码
#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 使用的货币格式参数 (类模板) | |
| C 文档 用于 lconv | |


