POSIX y locale

Tony Rodriguez tony at tony.tzo.com
Mon Sep 11 09:36:03 CDT 2000


Saludos compañeros.

Mi proyecto va bastante bien gracias a dios.  Llevo como 300Kb invertidos en
varios modulos y aunque se puede optimizar muchisimo estoy bastante orgulloso
de el ya que es funcional.  De hecho he estado aprendiendo sql, perl, dbi y Tk
todo en uno ;-)

Pues bien, les escribo por lo siguiente.  He estado tratando de usar los
formatos que provee el LC_  Ya lei : perllocale, POSIX y  locale entre otros y
le he sacado mucho pero aun no logro que me le de formato a los numeros con las
ordenes printf o sprintf. Por ejemplo, si en la linea de ordenes coloco:

>LC_ALL=spanish
>export LC_ALL
>locale -c LC_NUMERIC
LC_NUMERIC
,

-1;-1
me funciona bien ya que el punto decimal si es una coma y no hay punto de
miles ni agrupacion.  Pero si: 
>LC_ALL=en_US
>export LC_ALL
>locale -c LC_NUMERIC
LC_NUMERIC
..
,
3;3

vemos que el separador decimal es el punto y el de los miles es la coma en
grupos de tres pero cuando trato de sacar el numero formateado como por ejemplo
con:
printf "%12.2f", 12345678.90
veo
12345678.90
o sea que no hay separador de miles.  Segun el POSIX con %e, %f y %g deberia
funcionar ya que estos formatos son local-dependientes

Espero que me entiendan y que puedan ayudarme. Quiza olvido algo basico y si es
asi siento mucho haberlos molestado. Lo que quiero es sacar los numeros con el
formato local.  Otra cosa:  y si lo que quiero es usar LC_MONETARY... como hago?

Un millon de gracias de antemano y disculpen lo largo.

Tony.
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list