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

programa que calcula o IMC nao calcula certo quando uso parseInt (quando nao uso calcula certinho)

Quando fiz assim acima deu certo (não usei o parseInt para inserir os números ) apareceu isto no navegador

Peguntou nome altura e peso e apareceu isto apos eu inserir

cris, teste o seu IMC é 20.761245674740486

Seu IMC está excelente!

Agora fiz tudo igual mas na hora de inserir os dados numericos usei parseInt

..... var alturaInformada = parseInt(prompt(nome +" ,Informe sua altura")); var pesoInformado = parseInt(prompt(nome + " ,Informe seu peso")); ...... Ai dá erro no calculo...ele retorna o valor do imc sempre com o valor igual ao informado no peso (já troquei e muda para o outro valor de peso)

Alguem sabe me explicar a razão disso acontecer?

Obrigada!!!!

2 respostas
solução!

Int possui tamamanho entre (-2.147.483.648 a 2.147.483.647), quando faz o parseInt ele perde precisão, aconselho a utilizar o Float, que possui tamanho melhor e permite ponto flutuante.

Obrigada Allan, agora deu certo!!

ficou assim no local que estava dando erro: ....

var alturaInformada = parseFloat(prompt(nome +" ,Informe sua altura"));

var pesoInformado = parseFloat(prompt(nome + " ,Informe seu peso")); .....

agora está calculando corretamente