[C con Clase] locale: No me separa los millares
marcelinux
marcelinator en gmail.com
Jue Mayo 26 23:11:24 CEST 2016
Hola.
He probado el ejemplo de http://c.conclase.net/librerias/index.php?ansifun=localeconv#inicio
y no me separa los millares porque es una localización "C"
Entonces cambio
printf( "Localidad: \"%s\"\n\n", setlocale( LC_ALL, "C" ) );
por
printf( "Localidad: \"%s\"\n\n", setlocale( LC_ALL, "" ) );
para que tome la localización del sistema.
Y añado: printf( "Test de número %.3f\n", 123456789.123);
antes y después de modificar lcPtr.
:-(
Sigue sin separarme los millares.
¿Qué estoy haciendo mal?
Lo he probado en dos sistemas distintos:
1.
Debian Stretch 64 bits
gcc (Debian 5.3.1-20) 5.3.1 20160519
Resultado:
Localidad: "es_ES.UTF-8"
decimal_point = "," thousands_sep = "."
grouping = "" int_curr_symbol = "EUR "
currency_symbol = "€" mon_decimal_point = ","
mon_grouping = "" positive_sign = ""
negative_sign = "-"
int_frac_digits = (char) 2 frac_digits = (char) 2
p_cs_precedes = (char) 0 p_sep_by_space = (char) 1
n_cs_precedes = (char) 0 n_sep_by_space = (char) 1
p_sign_posn = (char) 1 n_sign_posn = (char) 1
Test de número 123456789,123
Cambiamos algunas variables para concordar con la localidad de España:
decimal_point = ","
thousands_sep = "."
grouping = "3"
Test de número 123456789,123
En el siguiente mensaje pondré el resultado en windows.
Más información sobre la lista de distribución Cconclase