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