std:: lconv
|
Определено в заголовочном файле
<clocale>
|
||
|
struct
lconv
;
|
||
Класс
std::lconv
содержит правила числового и денежного форматирования, определённые локализацией C. Объекты этой структуры могут быть получены с помощью
std::localeconv
. Члены структуры
std::lconv
являются значениями типа
char
и типа
char
*
. Каждый член типа
char
*
, кроме
decimal_point
, может указывать на нулевой символ (то есть на пустую C-строку). Члены типа
char
являются неотрицательными числами, любое из которых может быть равно
CHAR_MAX
, если соответствующее значение недоступно в текущей локализации C.
Содержание |
Объекты-члены
Параметры неденежного числового форматирования
|
char*
decimal_point
|
символ, используемый в качестве десятичной точки
(public member object) |
|
char*
thousands_sep
|
символ, используемый для разделения групп цифр перед десятичной точкой
(public member object) |
|
char*
grouping
|
строка, элементы которой указывают размеры групп цифр
(public member object) |
Параметры денежного числового форматирования
|
char*
mon_decimal_point
|
символ, используемый в качестве десятичной точки
(public member object) |
|
char*
mon_thousands_sep
|
символ, используемый для разделения групп цифр перед десятичной точкой
(public member object) |
|
char*
mon_grouping
|
строка, элементы которой указывают размеры групп цифр
(public member object) |
|
char*
positive_sign
|
строка, используемая для обозначения неотрицательной денежной величины
(public member object) |
|
char*
negative_sign
|
строка, используемая для обозначения отрицательной денежной величины
(public member object) |
Локальные параметры форматирования денежных числовых значений
|
char*
currency_symbol
|
символ, используемый для обозначения валюты в текущей локали C
(public member object) |
|
char
frac_digits
|
количество цифр после десятичной точки для отображения в денежной величине
(public member object) |
|
char
p_cs_precedes
|
1
если currency_symbol размещается перед неотрицательным значением,
0
если после
(public member object) |
|
char
n_cs_precedes
|
1
если currency_symbol размещается перед отрицательным значением,
0
если после
(public member object) |
|
char
p_sep_by_space
|
указывает разделение между
currency_symbol
,
positive_sign
и неотрицательным денежным значением
(public member object) |
|
char
n_sep_by_space
|
указывает разделение между
currency_symbol
,
negative_sign
и отрицательным денежным значением
(public member object) |
|
char
p_sign_posn
|
указывает позицию
positive_sign
в неотрицательном денежном значении
(public member object) |
|
char
n_sign_posn
|
указывает позицию
negative_sign
в отрицательном денежном значении
(public member object) |
Параметры международного денежного числового форматирования
|
char*
int_curr_symbol
|
строка, используемая как международное название валюты в текущей локали C
(общедоступный член-объект) |
|
char
int_frac_digits
|
количество цифр после десятичной точки для отображения в международной денежной величине
(общедоступный член-объект) |
|
char
int_p_cs_precedes
(C++11)
|
1
если int_curr_symbol размещается перед неотрицательной международной денежной величиной,
0
если после
(общедоступный член-объект) |
|
char
int_n_cs_precedes
(C++11)
|
1
если int_curr_symbol размещается перед отрицательной международной денежной величиной,
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
в отрицательной международной денежной величине
(общедоступный член-объект) |
Символы 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 <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
|
|