[pyar] Convirtiendo str a Decimal con separador decimal coma

Maximiliano Robaina maxi_robaina en yahoo.com.ar
Mar Feb 1 14:58:42 ART 2011


El mar, 01-02-2011 a las 12:24 -0300, Fabian Ezequiel Gallina escribió:
> El día 1 de febrero de 2011 12:14, Maximiliano Robaina
> <maxi_robaina en yahoo.com.ar> escribió:
> > El mar, 01-02-2011 a las 11:51 -0300, Patricio Molina escribió:
> >> 2011/2/1 Maximiliano Robaina <maxi_robaina en yahoo.com.ar>
> >> >
> >> > Hola,
> >> >
> >> > Tengo un string que representa un valor decimal cuyo separador decimal
> >> > es el caracter coma (,)
> >> > Entonces, cuando lo quiero convertir a Decimal, me da error. Por ejemplo
> >> > si el string es '39,5' -> Decimal('39,5') tira la siguiente excepción
> >> >
> >> > >> Invalid literal for Decimal: u'39,5'
> >> >
> >> > La pregunta es ¿Cuál es la mejor manera de tartar esto?
> >> > La solución "rápida" sería reemplazar la coma por el punto, pero.. ¿Es
> >> > la mejor solución o debería tener alguna otra cosa en cuenta?
> >> >
> >
> >>
> >> Podés hacer Decimal('39,5'.replace(',', '.')) para salir del paso.
> >>
> > Si, es eso lo que estoy haciendo, pero supongo que debe haber algo más
> > elegante, no?
> >
> 
> from django.utils import sanitize_separators
> 
> sanitize_separators(data)
> 
> 

Bien, no lo había tenido en cuenta.
A propósito, sanitize_separators esta en django.utils.formats al menos
en 1.2.x

Gracias.
Saludos.-






More information about the pyar mailing list