Javascript, como muchos otros lenguajes de programación, tiene problemas para trabajar con los números en “punto flotante”, o números reales (no enteros). Podríamos decir que es una de las pocas veces en las que podemos pensar que las matemáticas “no funcionan”.
¿Quieres ver un ejemplo de ello?
let a = 0.1; let b = 0.2; let c = a + b; console.log(c); //¡Ojo! Este resultado no dará un 0.3 como esperas, si no algo así como 0.30000000000000004
¿Cómo podemos evitar algo así? Pues muy sencillo: podemos multiplicar y dividir por una potencia de 10 en función de los decimales que necesitemos mostrar de la siguiente manera:
let c = (a * 10 + b * 10) / 10; console.log(c); //Aquí sí, obtendremos un 0.3
Y tú, cuéntanos, ¿sabías esta peculiaridad de los números en coma flotante?