| Localization library | |||||||||||||||||||||||||
| Regular expressions library(C++11) | |||||||||||||||||||||||||
| Formatting library(C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <clocale> | ||
struct lconv; | ||
The classstd::lconv contains numeric and monetary formatting rules as defined by a C locale. Objects of this struct may be obtained withstd::localeconv. The members ofstd::lconv are values of typechar and of typechar*. Eachchar* member exceptdecimal_point may be pointing at a null character (that is, at an empty C-string). The members of typechar are all non-negative numbers, any of which may beCHAR_MAX if the corresponding value is not available in the current C locale.
Contents |
char* decimal_point | the character used as the decimal point (public member object) |
char* thousands_sep | the character used to separate groups of digits before the decimal point (public member object) |
char* grouping | a string whose elements indicate the sizes of digit groups (public member object) |
char* mon_decimal_point | the character used as the decimal point (public member object) |
char* mon_thousands_sep | the character used to separate groups of digits before the decimal point (public member object) |
char* mon_grouping | a string whose elements indicate the sizes of digit groups (public member object) |
char* positive_sign | a string used to indicate non-negative monetary quantity (public member object) |
char* negative_sign | a string used to indicate negative monetary quantity (public member object) |
char* currency_symbol | the symbol used for currency in the current C locale (public member object) |
char frac_digits | the number of digits after the decimal point to display in a monetary quantity (public member object) |
char p_cs_precedes | 1 if currency_symbol is placed before non-negative value,0 if after (public member object) |
char n_cs_precedes | 1 if currency_symbol is placed before negative value,0 if after (public member object) |
char p_sep_by_space | indicates the separation ofcurrency_symbol,positive_sign, and the non-negative monetary value(public member object) |
char n_sep_by_space | indicates the separation ofcurrency_symbol,negative_sign, and the negative monetary value(public member object) |
char p_sign_posn | indicates the position ofpositive_sign in a non-negative monetary value(public member object) |
char n_sign_posn | indicates the position ofnegative_sign in a negative monetary value(public member object) |
char* int_curr_symbol | the string used as international currency name in the current C locale (public member object) |
char int_frac_digits | the number of digits after the decimal point to display in an international monetary quantity (public member object) |
char int_p_cs_precedes (C++11) | 1 if int_curr_symbol is placed before non-negative international monetary value,0 if after (public member object) |
char int_n_cs_precedes (C++11) | 1 if int_curr_symboll is placed before negative international monetary value,0 if after (public member object) |
char int_p_sep_by_space (C++11) | indicates the separation ofint_curr_symbol,positive_sign, and the non-negative international monetary value(public member object) |
char int_n_sep_by_space (C++11) | indicates the separation ofint_curr_symbol,negative_sign, and the negative international monetary value(public member object) |
char int_p_sign_posn (C++11) | indicates the position ofpositive_sign in a non-negative international monetary value(public member object) |
char int_n_sign_posn (C++11) | indicates the position ofnegative_sign in a negative international monetary value(public member object) |
The characters of the C-strings pointed to bygrouping andmon_grouping are interpreted according to their numeric values. When the terminating'\0' is encountered, the last value seen is assumed to repeat for the remainder of digits. IfCHAR_MAX is encountered, no further digits are grouped. the typical grouping of three digits at a time is"\003".
The values ofp_sep_by_space,n_sep_by_space,int_p_sep_by_space,int_n_sep_by_space are interpreted as follows:
| 0 | no space separates the currency symbol and the value |
| 1 | sign sticks to the currency symbol, value is separated by a space |
| 2 | sign sticks to the value. Currency symbol is separated by a space |
The values ofp_sign_posn,n_sign_posn,int_p_sign_posn,int_n_sign_posn are interpreted as follows:
| 0 | parentheses around the value and the currency symbol are used to represent the sign |
| 1 | sign before the value and the currency symbol |
| 2 | sign after the value and the currency symbol |
| 3 | sign before the currency symbol |
| 4 | sign after the currency symbol |
#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";}
Output:
Japanese currency symbol: ¥(JPY )
| queries numeric and monetary formatting details of the current locale (function)[edit] | |
| defines numeric punctuation rules (class template)[edit] | |
| defines monetary formatting parameters used bystd::money_get andstd::money_put (class template)[edit] | |
C documentation forlconv | |