Redondear un número a 2 decimales en JavaScript
-
Utilice el método
.toFixed()
para redondear un número a 2 decimales en JavaScript -
Utilice la función
Math.round()
para redondear un número a 2 decimales en JavaScript - Utilice el redondeo doble para redondear un número a 2 decimales en JavaScript
- Uso de la función personalizada para redondear un número a 2 decimales en JavaScript
Este tutorial presenta cómo redondear un número a 2 posiciones decimales en JavaScript.
Utilice el método .toFixed()
para redondear un número a 2 decimales en JavaScript
Aplicamos el método .toFixed()
sobre el número y pasamos el número de dígitos después del decimal como argumento.
var numb = 12312214.124124124;
numb = numb.toFixed(2);
Este método no produce resultados precisos en algunos casos y existen métodos mejores que este. Si un número de rondas de 1.2
, mostrará 1.20
. Si se da un número como 2.005
, devolverá 2.000
en lugar de 2.01
.
Utilice la función Math.round()
para redondear un número a 2 decimales en JavaScript
Tomamos el número y agregamos un número muy pequeño, Number.EPSILON
, para asegurar el redondeo exacto del número. Luego multiplicamos por número con 100
antes de redondear para extraer solo los dos dígitos después del lugar decimal. Finalmente, dividimos el número por 100 para obtener un máximo de 2 lugares decimales.
var numb = 212421434.533423131231;
var rounded = Math.round((numb + Number.EPSILON) * 100) / 100;
console.log(rounded);
Producción :
212421434.53
Aunque este método mejora sobre .toFixed()
, todavía no es la mejor solución y tampoco redondeará correctamente 1.005
.
Utilice el redondeo doble para redondear un número a 2 decimales en JavaScript
En este método, utilizamos el método .toPrecision()
para eliminar los errores de redondeo de coma flotante introducidos durante los cálculos intermedios en redondeo simple.
function round(num) {
var m = Number((Math.abs(num) * 100).toPrecision(15));
return Math.round(m) / 100 * Math.sign(num);
}
console.log(round(1.005));
Producción :
1.01
Uso de la función personalizada para redondear un número a 2 decimales en JavaScript
function roundToTwo(num) {
return +(Math.round(num + 'e+2') + 'e-2');
}
console.log(roundToTwo(2.005));
Esta función personalizada se encarga de todos los casos de esquina, y el redondeo de decimales como 1.005
se maneja bien con esta función.
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn