std::lconv(3) | C++ Standard Libary | std::lconv(3) |
NAME¶
std::lconv - std::lconv
Synopsis¶
Defined in header <clocale>
struct lconv;
The class std::lconv contains numeric and monetary formatting rules as
defined by a
C locale. Objects of this struct may be obtained with std::localeconv. The
members
of std::lconv are values of type char and of type char*. Each char* member
except
decimal_point may be pointing at a null character (that is, at an empty
C-string).
The members of type char are all non-negative numbers, any of which may be
CHAR_MAX
if the corresponding value is not available in the current C locale.
Member objects¶
Non-monetary numeric formatting parameters¶
char* decimal_point the character used as the decimal point
(public member object)
the character used to separate groups of digits before the
char* thousands_sep decimal point
(public member object)
char* grouping a string whose elements indicate the sizes of digit groups
(public member object)
Monetary numeric formatting parameters¶
char* mon_decimal_point the character used as the decimal point
(public member object)
the character used to separate groups of digits before the
char* mon_thousands_sep 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)
Local monetary numeric formatting parameters¶
char* currency_symbol the symbol used for currency in the current
C locale
(public member object)
the number of digits after the decimal point to display in a
char frac_digits monetary quantity
(public member object)
1 if currency_symbol is placed before non-negative value, 0 if
char p_cs_precedes after
(public member object)
1 if currency_symbol is placed before negative value, 0 if
char n_cs_precedes after
(public member object)
indicates the separation of currency_symbol, positive_sign,
char p_sep_by_space and the non-negative monetary value
(public member object)
indicates the separation of currency_symbol, negative_sign,
char n_sep_by_space and the negative monetary value
(public member object)
indicates the position of positive_sign in a non-negative
char p_sign_posn monetary value
(public member object)
indicates the position of negative_sign in a negative monetary
char n_sign_posn value
(public member object)
International monetary numeric formatting parameters¶
the string used as international currency name in the
char* int_curr_symbol current C locale
(public member object)
the number of digits after the decimal point to display in
char int_frac_digits an international monetary quantity
(public member object)
char int_p_cs_precedes 1 if int_curr_symbol is placed before non-negative
(C++11) international monetary value, 0 if after
(public member object)
char int_n_cs_precedes 1 if int_curr_symboll is placed before negative
(C++11) international monetary value, 0 if after
(public member object)
char int_p_sep_by_space indicates the separation of int_curr_symbol,
positive_sign,
(C++11) and the non-negative international monetary value
(public member object)
char int_n_sep_by_space indicates the separation of int_curr_symbol,
negative_sign,
(C++11) and the negative international monetary value
(public member object)
char int_p_sign_posn indicates the position of positive_sign in a
non-negative
(C++11) international monetary value
(public member object)
char int_n_sign_posn indicates the position of negative_sign in a negative
(C++11) international monetary value
(public member object)
The characters of the C-strings pointed to by grouping and mon_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.
If CHAR_MAX is encountered, no further digits are grouped. the typical
grouping of
three digits at a time is "\003".
The values of p_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 of p_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
Example¶
// Run this code
#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 )
See also¶
localeconv queries numeric and monetary formatting details of the
current locale
(function)
numpunct defines numeric punctuation rules
(class template)
defines monetary formatting parameters used by std::money_get and
moneypunct std::money_put
(class template)
C documentation for
lconv
2024.06.10 | http://cppreference.com |