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

Como arredondar o valor

Bom dia, eu gostaria de arredondar o resultado final deixando com apenas uma casa decimal. Inseri o Match.ceil na function que realiza o calculo porém ele me retornou o valor inteiro, sem o valor da casa decimal. Em que lugar do código eu tenho que realizar mudanças para me dar o resultado esperado?

<meta charset="UTF-8">
<script>
function pulaLinha(){
    document.write("<br>");
}
function mostra(frase){
    document.write(frase);
    pulalinha();
}
function calculaImc(altura, peso){
    return Math.ceil(peso / (altura * altura));
}
var nome = prompt ("Qual o seu nome?")
var pesoInformado = prompt("Digite o seu peso");
var alturaInformada = prompt("Digite a sua altura em metros");

var imc = calculaImc(alturaInformada, pesoInformado);

mostra("O imc de " + nome + " é " + imc);

</script>
4 respostas

Oi Felipe, tudo bem?

Poste seu código aqui para que eu possa dar uma olhada!

Abraços.

solução!

Oi Felipe, basta fazer imc.toFixed(1) dentro do mostra que ele utilizará apenas uma casa decimal.

Oi Felipe,

Agora que vi seu código, apenas um aviso sobre o toFixed

Quando utilizamos o toFixed para remover casas decimais, o retorno desse procedimento é uma string e não um number, por isso, tome cuidado com concatenações quando for utilizá-lo.

Você pode fazer o teste no console do seu navegador:

//CONSOLE
> 1.3243252345.toFixed(1);
"1.3"

Repare que a saída é a string "1.3".

Espero ter ajudado.

Abraços!

Colocando o .toFixed(1); funcionou. Obrigado pela ajuda.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software