lconv
lconv
在头文件 | | |
---|---|---|
struct lconv; | | |
该结构lconv
包含由C语言环境定义的数字和货币格式规则。这个结构体的对象可以用localeconv
。成员lconv
是类型char
和类型的值char*
。char*
除了decimal_point
可能指向一个空字符(即,在一个空的C字符串)之外的每个成员。类型的成员char
都是非负数,CHAR_MAX
如果相应的值在当前C语言环境中不可用,则这些成员中的任何一个都可能是。
会员对象
非金钱数字格式化参数
char * decimal_point | 用作小数点的字符(公共成员对象) |
---|---|
char * thousands_sep | 用于在小数点之前分隔数字组的字符(公共成员对象) |
char *分组 | 一个字符串,其元素指示数字组的大小(公共成员对象) |
货币数字格式参数
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 | 1如果currency_symbol放置在非负值之前,则为0(公共成员对象之后) |
char n_cs_precedes | 1如果currency_symbol放置在负值之前,则为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(C99) | 1如果currency_symbol在非负的国际货币价值之前放置,如果在(公共成员对象)之后为0, |
char int_n_cs_precedes(C99) | 1如果currency_symbol被置于负国际货币值之前,则0(如果在公共成员对象之后) |
char int_p_sep_by_space(C99) | 表示currency_symbol,positive_sign和非负的国际货币价值(公共成员对象)的分离, |
char int_n_sep_by_space(C99) | 指示currency_symbol,negative_sign和负的国际货币价值(公共成员对象)的分离, |
char int_p_sign_posn(C99) | 表示positive_sign在非负的国际货币价值(公共成员对象)中的位置 |
char int_n_sign_posn(C99) | 指示negative_sign在负国际货币价值(公共成员对象)中的位置 |
指向的C字符串的字符grouping
和mon_grouping
根据其数值解释。当'\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 <locale.h>
#include <stdio.h>
int main(void)
{
setlocale(LC_ALL, "ja_JP.UTF-8"
struct lconv *lc = localeconv(
printf("Japanese currency symbol: %s(%s)\n", lc->currency_symbol, lc->int_curr_symbol
}
可能的输出:
Japanese currency symbol: ¥(JPY )
参考
- C11标准(ISO/IEC 9899:2011):
另请参阅
localeconv | 查询当前语言环境(函数)的数字和货币格式详细信息 |
---|
| C++ documentation for lconv |