0

Estoy realizando el calculo de los montos para un sistema contable y estoy presentando varios problemas con las formulas, por ejemplo tengo esta resta que debería dar cero sin embargo me da un numero totalmente distinto:

function myFunction() {
  var a = 1500.10
  var b = 500.00
  var c = 340.25
  var d = 659.85

  document.getElementById("demo").innerHTML = a - b - c - d;
}

El resultado de restar esos valores me da: -1.1368683772161603e-13

No tengo opcion a descargar alguna libreria y el sistema solo soporta hasta ecmascript 5.

Alguna idea de como poder solucionarlo

ErickP
  • 31
  • 5
  • 1
    Usa paréntesis para definir la prioridad de operaciones. –  Aug 17 '20 at 21:43
  • Mira esta pregunta con sus tremendas respuestas: https://es.stackoverflow.com/questions/197/por-qu%c3%a9-mis-programas-no-pueden-hacer-c%c3%a1lculos-aritm%c3%a9ticos-correctamente?noredirect=1&lq=1 – track3r Aug 17 '20 at 22:01
  • 1
    Por otro lado, comentar que así me funcionó: (a - b - c - d).toFixed(2) – track3r Aug 17 '20 at 22:11
  • si lees la respuesta del sistema es -0.000000000000136... etc que para efectos prácticos es 0. Si no puedes usar librerías puedes hacer una que opere las partes entera y decimal (para sumas y restas) y que luego reuna los datos sumando la parte decimal dividida por 100 – quevedo Aug 17 '20 at 22:36
  • Gracias a todos, es cierto ahora entendí el porque me daba ese resultado. – ErickP Aug 19 '20 at 20:52

0 Answers0