Arredondar um número para 2 casas decimais em JavaScript
-
Use o método
.toFixed()para arredondar um número para 2 casas decimais em JavaScript -
Use a função
Math.round()para arredondar um número para 2 casas decimais em JavaScript - Use o arredondamento duplo para arredondar um número para 2 casas decimais em JavaScript
- Usando a função personalizada para arredondar um número para casas decimais em JavaScript
Este tutorial apresenta como arredondar um número para 2 casas decimais em JavaScript.
Use o método .toFixed() para arredondar um número para 2 casas decimais em JavaScript
Aplicamos o método .toFixed() ao número e passamos o número de dígitos após o decimal como argumento.
var numb = 12312214.124124124;
numb = numb.toFixed(2);
Este método não produz resultados precisos em alguns casos e existem métodos melhores do que este. Se um número for arredondado de 1.2, ele mostrará 1.20. Se um número como 2.005 for fornecido, ele retornará 2.000 em vez de 2.01.
Use a função Math.round() para arredondar um número para 2 casas decimais em JavaScript
Pegamos o número e adicionamos um número muito pequeno, Number.EPSILON, para garantir o arredondamento preciso do número. Em seguida, multiplicamos por número com 100 antes de arredondar para extrair apenas os dois dígitos após a casa decimal. Finalmente, dividimos o número por 100 para obter no máximo 2 casas decimais.
var numb = 212421434.533423131231;
var rounded = Math.round((numb + Number.EPSILON) * 100) / 100;
console.log(rounded);
Resultado:
212421434.53
Embora este método melhore em .toFixed(), ainda não é a melhor solução e também não arredondará 1.005 corretamente.
Use o arredondamento duplo para arredondar um número para 2 casas decimais em JavaScript
Neste método, usamos o método .toPrecision() para eliminar os erros de arredondamento de ponto flutuante introduzidos durante os cálculos intermediários no arredondamento único.
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));
Resultado:
1.01
Usando a função personalizada para arredondar um número para casas decimais em JavaScript
function roundToTwo(num) {
return +(Math.round(num + 'e+2') + 'e-2');
}
console.log(roundToTwo(2.005));
Esta função personalizada cuida de todos os casos de canto e arredondamento de decimais como 1.005 é bem tratado por esta função.
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