Redondear numeros
Oswaldo Hernández
listas en soft-com.es
Mar Nov 18 21:15:00 CET 2008
Luis Ortega Araneda escribió:
> Estimados,
>
> Estoy trabajando en un programar que trabaja con números, tiempo, que
> los generé de forma aleatoria. Mi problema es que son del tipo:
> 3.4993545654564
>
> quería redondear a dos digitos, por lo que ocupé la función
> round(3.4993545654564,2)
> y luego de hacerlo, el número me queda ...
> 3.4900000000000 o 3.49999999999999 <<< algo así sucede siempre.
>
> bueno, mi pregunta es la siguiente, ¿existe alguna forma de que el
> número quede así: 3.49 ?
>
Si los numeros son de tipo Decimal puedes usar quantize:
>>> decimales = 2
>>> d = decimal.Decimal("2.3456789")
>>> d.quantize(decimal.Decimal((0,(1,),-decimales)))
Decimal("2.35")
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es