Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Math.round ou Math.trunc?

Boa noite,

Vi que um dos alunos resolveu o exercício utilizando a instrução Math.trunc. Revolvi testar no que eu tinha feito antes e percebi que o resultado final ficou diferente do obtido de quando usei a instrução Math.round.

No caso, qual seria a instrução mais adequada para este exercício? E qual seria a mais usada na programação em geral?

2 respostas
solução!

Olá Rafael tudo bem ?

Antes de responder sua pergunta acho interessante você saber qual é a diferença ambos os métodos que você citou acima . =)

Math.trunc : ele é um método que retorna a parte inteira de um número, descartando suas casas decimais .

Ex:

console.log(Math.trunc(11.37));
//resultado :  11

console.log(Math.trunc(42.84)); 
//resultado : 42

console.log(Math.trunc(0.123));
// resultado : 0

console.log(Math.trunc(-0.123));
// resultado : -0

Dado os exemplos acima , percebe-se que o Math.trunc ele apenas trunca o número passado a ele como parâmetro, removendo todas as casas decimais dele, não importando se o número é positivo ou negativo.

Math.round : ele é um método que retorna o valor de um número arredondado para o inteiro mais próximo.

Ex:


x = Math.round(20.49);
// resultado :  20

x = Math.round(20.5);
// resultado: 21

x = Math.round(-20.5);
//resultado: -20

x = Math.round(-20.51);
//resultado: -21

Dados os exemplos acima , percebe-se que o Math.round se a parte fracionária do número for maior ou igual a 0.5, o argumento x é arredondado para o próximo número inteiro acima, entretanto se a parte fracionária do número for menor que 0.5, então o valor de x é arredondado para o próximo número inteiro abaixo.

Sendo assim nesse exercício das gerações o ideal seria fazer a utilização do Math.round por toda essa questão de arredondamento do número inteiro para o valor mais próximo .

E acredito que seja difícil te dizer qual método mais utilizado na programação em geral , tudo vai depender do resultado a ser buscado , mas geralmente o Math.round é o que mais utilizamos por a questão de arredondamento do número .

Espero ter ajudado , e lembre-se qualquer dúvida sinta-se a vontade de mandar aqui no fórum , ficaremos felizes em poder ajudar . =)

Abraços e bons estudos. =)

Ajudou sim.

Obrigado, Suelen!