首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lconv

在头文件<locale.h>中定义

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字符串的字符groupingmon_grouping根据其数值解释。当'\0'遇到终止时,假定最后一个值被重复用于剩下的数字。如果CHAR_MAX遇到,则不再分组。一次三位数的典型分组是"\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

在货币符号后面签字

代码语言:javascript
复制
#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);
}

可能的输出:

代码语言:javascript
复制
Japanese currency symbol: ¥(JPY )

参考

  • C11标准(ISO/IEC 9899:2011):
    • 7.11 / 2本地化<locale.h>(p:223)
  • C99标准(ISO/IEC 9899:1999):
    • 7.11 / 2本地化<locale.h>(p:204)
  • C89 / C90标准(ISO/IEC 9899:1990):
    • 4.4本地化<locale.h>

另请参阅

localeconv

查询当前语言环境(函数)的数字和货币格式详细信息

| C++ documentation for lconv |

扫码关注腾讯云开发者

领取腾讯云代金券