0

Necesito restar números decimales hasta de 8 dígitos después de la coma, el problema es que python a veces tiene problemas con este tipo de número, pero no puedo estar redondeando ya que necesito una cifra exacta. Este es un ejemplo del error que da Python:

>>>1.001 - 0.001
0.9999999999999999

Incluso probando el método round tampoco funciona:

>>>round(1.001, 8) - round(0.001, 8)
0.9999999999999999

¿Cómo podría resolver esto?

  • Te recomiendo veas [este enlace](https://es.stackoverflow.com/questions/197/por-qu%C3%A9-mis-programas-no-pueden-hacer-c%C3%A1lculos-aritm%C3%A9ticos-correctamente) – BetaM Mar 08 '20 at 02:11
  • Los flotantes tienen *errores* previstos en el estandar IEEE 754, Si quieres precisión usa el módulo [decimal](https://docs.python.org/3.8/library/decimal.html) –  Mar 08 '20 at 02:15
  • @eyllanesc muchas gracias. Con ese módulo parece que resuelvo mi problema – Reinier Hernández Mar 08 '20 at 02:25

0 Answers0