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

parseInt dando erro?

<meta charset="UTF-8"
<title>Meu Primeiro Programa</title>
<h1><center>Calculo do Indice de Massa Corporal (IMC)</center></h1>
<script>
function escrever(msg) {
    document.write(msg);
}
function pular() {
    document.write("<br>");
}
function calculaImc(altura, peso) {
    return peso / (altura * altura);
}
alert("Insira os valores no sistema internacional de unidades, apenas numeros permitidos");
var nome = prompt("insira seu nome aqui");
var alturaInformada = parseInt(prompt(nome + " agora me diga sua altura em metros"));
var pesoInformado = parseInt(prompt("por ultimo me diga quanto voce pesa " + nome));
var imc = calculaImc(alturaInformada, pesoInformado)
escrever(imc)
</script>

ao colocar minha altura 1.70 e peso 55, o imc final e escrito como 55 apenas, nao realizando a formula do calculo de imc, no entanto quando tiro parseInt funciona, mas pelo o que entendi eu necessito utilizar o parseInt para quando quero obter um numero, no caso de peso e altura.

2 respostas

Boa noite, victor.

Executei teu código e está funcionando normalmente com o parseInt.

Refaz ai, e me diz se encontrou o mesmo resultado.

solução!

Boa noite, Victor! Como vai?

O seu código está "correto"! Coloquei entre aspas pq ele está fazendo exatamente o que foi instruído a fazer mas não o que vc queria que fizesse! Vc obteve o resultado 55 pq o parseInt() transforma uma string para inteiro, ou seja, se vc fizer parseInt("1.70"), o resultado será 1. Daí, como vc passou os valores 55 e 1 para a sua função calculaImc(), ela fez 55/(1*1) = 55.

O que aprendemos é que o parseInt() funciona muito bem quando estamos trabalhando com números inteiros, mas não funciona com números fracionários como é o caso da altura.

A boa notícia é que para o seu problema há duas soluções!

Mas como vc está iniciando no mundo da programação, como exercício didático eu deixarei que vc tente resolver esse pequeno desafio sozinho!

Se não souber como resolver, volte a comentar aqui que eu te ajudo!

Grande abraço e bons estudos!

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