lconv
| Definido en el archivo de encabezado <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.
Objetos miembro
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) |
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) |
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) |
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 |
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 )
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>
Véase también
| consulta los detalles de formato numérico y monetario de la localización actual (función) | |
Documentación de C++ para lconv
| |