JavaScript cuenta con un solo tipo de valores numéricos llamados "número" para manejar números enteros y los valores de punto flotante . Bajo el capó , el número es un valor de doble precisión de 64 bits. Mientras que en la realidad , los números pueden ser infinitamente preciso , un equipo tiene una cantidad limitada de espacio para el almacenamiento de valores de coma flotante . Esta restricción conduce a " errores de redondeo " que introducen pequeños errores en sus cálculos . Puede recortar estos errores con métodos de JavaScript incorporadas . Instrucciones
1
Escriba el código para realizar el cálculo. Asigne el resultado a una variable. Por ejemplo :
var a = 2 ;
var b = 1,11 ;
var resultado = a + b;
En este ejemplo, "número " inesperadamente tiene el valor " 3.1100000000000003 "en lugar de la correcta " 3.11 " . La diferencia en el resultado calculado y el resultado correcto es causado por error de redondeo de punto flotante de ordenador.
2
Utilice el método " Number.toFixed (dígitos ) " para ajustar el resultado a un número razonable de dígitos después del punto decimal . Con 12 para el parámetro " dígitos" se recorte el error , mientras que la deja con un valor bastante exacto . El método Number.toFixed (dígitos ) redondea el valor al número determinado de dígitos y devuelve el valor como una cadena . Por ejemplo :
resultado
= result.toFixed ( 12 ) ;
En este ejemplo, el resultado ahora tiene el valor de cadena " 3.110000000000 ", con decimales adicionales llenos de " 0 ". Si está trabajando con los valores de moneda , puede utilizar 2 o 3 de "dígitos" , dependiendo del nivel de precisión que necesita en sus cálculos.
3
Convierta su valor de nuevo en un punto flotante valor utilizando el método integrado " parseFloat ( valor de cadena ) " si hay que usarla en los cálculos o funciones adicionales . El método parseFloat ( valor de cadena ) Convierte la representación de cadena de un número en un número de punto flotante. Por ejemplo :
resultado = parseFloat ( resultado) ;
En este ejemplo, el resultado ahora tiene el valor numérico " 3.11 ".
< Br >