[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