[pyar] Convertir decimal con coma
Pablo Ziliani
pablo en kultroom.com
Mie Ago 4 19:42:21 ART 2010
Pablo Ziliani wrote:
> Mauricio Cleveland wrote:
>>
>>
>> El 4 de agosto de 2010 18:18, Diego Mascialino <dmascialino en gmail.com
>> <mailto:dmascialino en gmail.com>> escribió:
>>
>> 2010/8/4 Mauricio Cleveland <mauricio.cleveland en gmail.com
>> <mailto:mauricio.cleveland en gmail.com>>:
>> > Entonces estaba pensando en transformar a listas, desde string y
>> luego
>> > eliminar la coma reemplazandola con el punto.
>>
>> No entendí esto, de transformar a lista... para hacer esto podes
>> hacer:
>> >>> '4,5'.replace(',','.')
>> '4.5'
>>
>>
>> Si, es que el valor me lo entrega como tupla.
>>
>>
>>
>> >
>> > No se si existe otra solución?
>> Sí, mira:
>>
>> >>> import locale
>> >>> locale.setlocale(locale.LC_ALL,"es_AR")
>> 'es_AR'
>> >>> locale.atof('4,5')
>> 4.5
>>
>>
>> Excelente, caso cerrado!
>> Gracias :D.
>
> ...a no ser que no puedas depender de que es_AR (o el locale que vayas
> a usar) esté efectívamente instalado en el sistema que corre el
> script. Si vos tenés strings formateadas siempre de la misma forma
> (ej. con comas), dudo que haya algo mejor que el str.replace.
>
> ej.:
>
> >>> mi_lista_de_floats = [ s.replace(',', '.') for s in
> mi_tupla_de_strings]
>
Perdón, error pavo: para obtener una lista floats (no sé si era a lo que
querías llegar) me olvidé de hacer la conversión:
>>> mi_lista_de_floats = [ float(s.replace(',', '.')) for s in
mi_tupla_de_strings]
More information about the pyar
mailing list