Estoy haciendo un software de contabilidad y tengo graves problemas con los cálculos de los decimales.
He aqui un ejemplo: si hago la resta 3.00 - 2.70 me da 0.29 y no 0.30 como deberia
console.log(3.00-2.70);
Estoy haciendo un software de contabilidad y tengo graves problemas con los cálculos de los decimales.
He aqui un ejemplo: si hago la resta 3.00 - 2.70 me da 0.29 y no 0.30 como deberia
console.log(3.00-2.70);
Al principio creí que con la función Math.round()
solucionarías el problema, pero al probarla, me di cuenta que no aguanta decimales. Por eso, al seguir googleando, me encontré con esta solución, que pareció ser efectiva: habría que probarla con muchos valores para saber si siempre retorna el valor deseado.
console.log(parseFloat(3.00-2.70).toFixed(2));
La sugerencia de solución la encontré en Round to at most 2 decimal places (only if necessary) . Allí podrás leer todo el análisis que hacen los usuarios sobre los posibles fallos, etc.
Gracias por la respuesta. He encontrado una librería que me ha ayudado a corregir este problema decimal.js