Namespaces
Variants

std:: lconv

From cppreference.net
Definido en el encabezado <clocale>
struct lconv ;

La clase std::lconv contiene reglas de formato numérico y monetario según las define una configuración regional de C. Los objetos de esta estructura pueden obtenerse con std::localeconv . Los miembros de std::lconv son valores de tipo char y de tipo char * . Cada miembro char * excepto decimal_point puede apuntar a un carácter nulo (es decir, a una cadena C vacía). Los miembros de tipo char son todos números no negativos, cualquiera de los cuales puede ser CHAR_MAX si el valor correspondiente no está disponible en la configuración regional actual de C.

Contenidos

Objetos miembro

Parámetros de formato numérico no monetario

char* decimal_point
el carácter utilizado como punto decimal
(objeto miembro público)
char* thousands_sep
el carácter utilizado para separar grupos de dígitos antes del punto decimal
(objeto miembro público)
char* grouping
una cadena cuyos elementos indican los tamaños de los grupos de dígitos
(objeto miembro público)

Parámetros de formato numérico monetario

char* mon_decimal_point
el carácter utilizado como punto decimal
(objeto miembro público)
char* mon_thousands_sep
el carácter utilizado para separar grupos de dígitos antes del punto decimal
(objeto miembro público)
char* mon_grouping
una cadena cuyos elementos indican los tamaños de los grupos de dígitos
(objeto miembro público)
char* positive_sign
una cadena utilizada para indicar cantidades monetarias no negativas
(objeto miembro público)
char* negative_sign
una cadena utilizada para indicar cantidades monetarias negativas
(objeto miembro público)

Parámetros de formato numérico monetario local

char* currency_symbol
el símbolo utilizado para la moneda en la configuración regional actual de C
(objeto miembro público)
char frac_digits
el número de dígitos después del punto decimal para mostrar en una cantidad monetaria
(objeto miembro público)
char p_cs_precedes
1 si currency_symbol se coloca antes del valor no negativo, 0 si después
(objeto miembro público)
char n_cs_precedes
1 si currency_symbol se coloca antes del valor negativo, 0 si después
(objeto miembro público)
char p_sep_by_space
indica la separación de currency_symbol , positive_sign , y el valor monetario no negativo
(objeto miembro público)
char n_sep_by_space
indica la separación de currency_symbol , negative_sign , y el valor monetario negativo
(objeto miembro público)
char p_sign_posn
indica la posición de positive_sign en un valor monetario no negativo
(objeto miembro público)
char n_sign_posn
indica la posición de negative_sign en un valor monetario negativo
(objeto miembro público)

Parámetros de formato numérico monetario internacional

char* int_curr_symbol
la cadena utilizada como nombre de moneda internacional en la configuración regional actual de C
(objeto miembro público)
char int_frac_digits
el número de dígitos después del punto decimal para mostrar en una cantidad monetaria internacional
(objeto miembro público)
char int_p_cs_precedes
(C++11)
1 si int_curr_symbol se coloca antes del valor monetario internacional no negativo, 0 si se coloca después
(objeto miembro público)
char int_n_cs_precedes
(C++11)
1 si int_curr_symbol se coloca antes del valor monetario internacional negativo, 0 si se coloca después
(objeto miembro público)
char int_p_sep_by_space
(C++11)
indica la separación de int_curr_symbol , positive_sign , y el valor monetario internacional no negativo
(objeto miembro público)
char int_n_sep_by_space
(C++11)
indica la separación de int_curr_symbol , negative_sign , y el valor monetario internacional negativo
(objeto miembro público)
char int_p_sign_posn
(C++11)
indica la posición de positive_sign en un valor monetario internacional no negativo
(objeto miembro público)
char int_n_sign_posn
(C++11)
indica la posición de negative_sign en un valor monetario internacional negativo
(objeto miembro público)


Los caracteres de las cadenas C señaladas por grouping y mon_grouping se interpretan según sus valores numéricos. Cuando se encuentra el terminador ' \0 ' , se asume que el último valor visto se repite para el resto de dígitos. Si se encuentra CHAR_MAX , no se agrupan más dígitos. La agrupación típica de tres dígitos a la vez es " \003 " .

Los valores de p_sep_by_space , n_sep_by_space , int_p_sep_by_space , int_n_sep_by_space se interpretan de la siguiente manera:

0 no hay espacio entre el símbolo de moneda y el valor
1 el signo se adhiere al símbolo de moneda, el valor está separado por un espacio
2 el signo se adhiere al valor. El símbolo de moneda está separado por un espacio

Los valores de p_sign_posn , n_sign_posn , int_p_sign_posn , int_n_sign_posn se interpretan de la siguiente manera:

0 se utilizan paréntesis alrededor del valor y el símbolo de moneda para representar el signo
1 signo antes del valor y el símbolo de moneda
2 signo después del valor y el símbolo de moneda
3 signo antes del símbolo de moneda
4 signo después del símbolo de moneda

Ejemplo

#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";
}

Salida:

Japanese currency symbol: ¥(JPY )

Véase también

consulta los detalles de formato numérico y monetario de la configuración regional actual
(función)
define reglas de puntuación numérica
(plantilla de clase)
define parámetros de formato monetario utilizados por std::money_get y std::money_put
(plantilla de clase)