problema con funcion round

Jesus Cea jcea en argo.es
Vie Mar 3 13:05:41 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Toni Casueps wrote:
> He leido en la documentación de la función round que si el dígito a
> redondear es el 5, lo hace al entero más alejado de 0, es decir que
> round(0.5) es 1.0 y round(-0.5) es -1.0
> Pero luego me encuentro con esto:
> 
>>>> round(0.65,1)
> 0.69999999999999996
>>>> round(1.65,1)
> 1.6000000000000001
> 
> ¿No deberia en el segundo caso redondear a 1.7?

Recuerda que la coma flotante de un ordenador (cualquier ordenador)
tiene una precisión finita y no todos los números son representables con
exactitud:

>>> 1.65
1.6499999999999999
>>> .65
0.65000000000000002

Esto no es un problema de python. Es un problema de la coma flotante de
cualquier ordenador, en cualquier lenguaje.

Si necesitas exactitud total, debes utilizar algún tipo decimal. En
rendimiento, no obstante, será muy inferior.

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBRAgxFZlgi5GaxT1NAQIHMgP8CK5pozPbjlTQjeicSeYX8mgeBe5zY2yM
rArnLIFT9KKXKvAHrleqAucAKRKZ9Sw6nr/0s7s+TSbzx8eQn51lYLSZH1KqUdgZ
c3DmdSVMOpzFvfsTRL+tjHm/Ny43zoO6eYM/ZWK07I0ICQhj2bro0uopx79vXjdN
wFxwhKxjSG4=
=criM
-----END PGP SIGNATURE-----
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es