[pyar] Duda con la resta

Marian mavignau en gmail.com
Vie Jun 9 22:58:40 ART 2017


+1

El 8 de junio de 2017, 21:54, Tomas Castro <tomas.software en gmail.com>
escribió:

> Gracias ... Soy nuevo en el grupo ... También me sirvió
> El 08/06/2017 20:50, "Varela Matias" <matu.varela en gmail.com> escribió:
>
>> Gracias Facu, desconocía estos detalles!
>>
>> Saludos
>>
>> El jue., 8 jun. 2017 a las 17:34, Facundo Batista (<
>> facundobatista en gmail.com>) escribió:
>>
>>> 2017-06-08 16:37 GMT-03:00 Juan Carizza <juan.carizza en gmail.com>:
>>>
>>> > Cuando trabajo con flotantes hay que tener en cuenta la cantidad de
>>> > decimales y el redondeo..
>>> >
>>> > In [1]: round(2.2 - 4.3, 20)
>>> > Out[1]: -2.0999999999999996
>>> >
>>> > In [2]: round(2.2 - 4.3, 1)
>>> > Out[2]: -2.1
>>>
>>> Es peor, incluso, cuando se trabaja con flotantes hay que tener
>>> cuidado de que "la matemática que aprendiste en la escuela acá no
>>> funciona".
>>>
>>> Por ejemplo, todos sabemos que si sumás y restás el mismo número el
>>> resultado no cambia, ¿no? Pero...
>>>
>>> >>> 2.2 - 4.3
>>> -2.0999999999999996
>>> >>> 7 - 7 + 2.2 - 4.3
>>> -2.0999999999999996
>>> >>> 7 + 2.2 - 4.3 - 7
>>> -2.1000000000000005
>>>
>>> Fijate que en el último paso cambié el orden, y eso me cambió el
>>> resultado!
>>>
>>> Por eso la recomendación siempre de si vas a hacer cuentas sobre
>>> dinero, usá Decimal!
>>>
>>> >>> from decimal import Decimal
>>> >>> Decimal('2.2') - Decimal('4.3')
>>> Decimal('-2.1')
>>>
>>> Detalle: fijate que a Decimal le pasé un string. Decimal también
>>> soporta que le pases un flotante directamente, pero ojo porque ahí ya
>>> arrancás con un error....
>>>
>>> >>> Decimal(2.2) - Decimal(4.3)
>>> Decimal('-2.099999999999999644728632120')
>>>
>>> ...porque el flotante que le estás pasando no es el flotante que vos
>>> creés... O sea, 2.2 no es 2.2, sino
>>>
>>> >>> Decimal(2.2)
>>> Decimal('2.20000000000000017763568394002504646778106689453125')
>>>
>>> Slds.
>>>
>>> --
>>> .    Facundo
>>>
>>> Blog: http://www.taniquetil.com.ar/plog/
>>> PyAr: http://www.python.org/ar/
>>> Twitter: @facundobatista
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>> --
>> Matías Varela
>> (260) 4290769 <(260)%20429-0769>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Marian
"La función de un buen software es hacer que lo complejo aparente ser
simple " Grady Booch
____________________________
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170609/a4a4094c/attachment.html>


Más información sobre la lista de distribución pyar