Espacios de nombres
Variantes
Acciones

lconv

De cppreference.com
< c‎ | locale
Definido en la cabecera <locale.h>
struct lconv;

La estructura lconv contiene reglas de formato numérico y monetario definidas por la localización C. Los objetos de esta estructura se pueden obtener con localeconv. Los miembros de lconv son valores de tipo char y de tipo char*. Cada miembro de char*, excepto decimal_point puede estar apuntando a un carácter nulo (es decir, a una cadena en C vacía). Los miembros del 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 localización C actual.

Contenido

[editar] Objetos miembro

[editar] Parámetros de formato numérico no monetarios

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

[editar] Parámetros de formato numérico monetario

char* mon_decimal_point
el carácter utilizado como coma decimal
(objeto miembro público)
char* mon_thousands_sep
el carácter utilizado para separar grupos de dígitos antes de la coma decimal
(objeto miembro público)
char* mon_grouping
una cadena cuyos elementos indican el tamaño de los grupos de dígitos
(objeto miembro público)
char* positive_sign
una cadena utilizada para indicar una cantidad monetaria no negativa
(objeto miembro público)
char* negative_sign
una cadena utilizada para indicar una cantidad monetaria negativa
(objeto miembro público)

[editar] Parámetros de formato numérico monetario local

char* currency_symbol
el símbolo utilizado para la moneda en la localización C actual
(objeto miembro público)
char frac_digits
el número de dígitos después de la coma decimal a visualizar 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)

[editar] Parámetros de formato numérico monetario internacional

char* int_curr_symbol
la cadena utilizada como nombre de la moneda internacional en la localización C actual
(objeto miembro público)
char int_frac_digits
el número de dígitos tras la coma decimal que debe visualizarse en una cantidad monetaria internacional
(objeto miembro público)
char int_p_cs_precedes
(C99)
1 si int_curr_symbol se coloca antes del valor monetario internacional no negativo, 0 si después
(objeto miembro público)
char int_n_cs_precedes
(C99)
1 si int_curr_symbol se coloca antes del valor monetario internacional negativo,, 0 si después
(objeto miembro público)
char int_p_sep_by_space
(C99)
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
(C99)
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
(C99)
indica la posición de positive_sign en un valor monetario internacional no negativo
(objeto miembro público)
char int_n_sign_posn
(C99)
indica la posición de negative_sign en un valor monetario internacional negativo
(objeto miembro público)


Los caracteres de las cadenas en C apuntados por grouping y mon_grouping se interpretan según sus valores numéricos. Cuando se encuentra la terminación '\0', se supone que el último valor visto se repite para el resto de los dígitos. Si CHAR_MAX se encuentra, 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 ningún espacio separa el símbolo de moneda y el valor
1 se adhiere al símbolo de moneda, el valor está separado por un espacio
2 se adhiere al valor, el símbolo de la 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 los paréntesis alrededor del valor y el símbolo de la moneda se utilizan para representar el símbolo
1 antes del valor y el símbolo de la moneda
2 después del valor y el símbolo de la moneda
3 antes del símbolo de la moneda
4 después del símbolo de la moneda

[editar] Ejemplo

#include <locale.h>
#include <stdio.h>
 
int main(void)
{
    setlocale(LC_ALL, "ja_JP.UTF-8");
    struct lconv *lc = localeconv();
    printf("Símbolo de la moneda japonesa: %s(%s)\n", lc->currency_symbol, lc->int_curr_symbol);
}

Posible salida:

Símbolo de la moneda japonesa: ¥(JPY )

[editar] Referencias

  • Standard C11 (ISO/IEC 9899:2011):
  • 7.11/2 Localization <locale.h> (p: 223)
  • Standard C99 (ISO/IEC 9899:1999):
  • 7.11/2 Localization <locale.h> (p: 204)
  • Standard C89/C90 (ISO/IEC 9899:1990):
  • 4.4 LOCALIZATION <locale.h>

[editar] Véase también

consulta los detalles de formato numérico y monetario de la localización actual
(función) [editar]