Es curioso, pero nos podemos topar que al multiplicar dos números con decimales en Javascript no obtengamos el valor esperado. Esto es debido al modo en que javascript realiza esta operación. Que entretenido resultaban esas operaciones en Tecnologia de Computadores, pero hace demasiado tiempo de eso y uno ya no se acuerda. El caso es que Javascript usa la multiplicación en punto flotante.
Para los que gusten mas información en la wikipedia, un servidor se va a limitar a dar la solución.
Tomando como ejemplo:
- x = 9
- y = 155.1
al multiplicarlos obtendriamos un valor tal que 1395.899999999, pero el resultado esperado salta a la vista que no es ese. Para corregirlo podemos aplicar la siguiente operación, por ejemplo para 2 decimales:
-
var x = 9;
-
-
var y = 155.1;
-
-
var z = x*y;
-
-
var w = Math.round(z * Math.pow(10,2))/Math.por(10,2);
Recent Comments