0

Tengo dos variables en NodeJS con estos valores:

valor1 = 3.06;
valor2 = 2.20;

console.log("Resultado de la resta 3.06 - 2.20", valor1 - valor2);

El resultado que me esta dando es 0.8599999999 en vez de darme 0.86 dado a que solo tienen dos decimales después de la coma.

¿Por qué ocurre esto?

user158618
  • 11
  • 1
  • Debes redondear el resultado. Te dejo este link con la librería https://www.npmjs.com/package/round-to – Bicho Feb 14 '20 at 16:54
  • 1
    No debes usar una libreria, puedes indicar cuantos decimales quieres que te salgan con la funcion .toFixed(decimal). Ejemplo: const valor3 = valor1- valor2; console.log(valor3.toFixed(2)); – Juan Andres solanas Feb 14 '20 at 17:08
  • Si, pero mi pregunta es porque he de redondearlo si al final los dos números que estoy usando son de dos decimales solamente después de la coma, es de suponer que el resultado tiene que dar igual, solo dos decimales, estoy restando o sumando, no multiplicando ni dividiendo que hay si me va a dar mas de dos decimales posiblemente, lo que no entiendo es porque en una operación tan sencilla me saca tantos decimales – user158618 Feb 14 '20 at 17:11
  • 1
    Si lees un poco la respuesta que te dio ArtEze encontrarás que es algo raro por la especificaciones de la iEEE754 el coma flotante – JackNavaRow Feb 14 '20 at 17:23
  • 1
    Ahhh, disculpa, cuando respondí no me había salido ese comentario, gracias – user158618 Feb 14 '20 at 17:26

0 Answers0