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

problemas com a função prompt

Estou escrevendo o código conforme indicado na aula:

 function calculaImc(altura, peso) {
        return imc = peso / (altura * altura);

    }

    var alturaInformada = prompt("Informe sua altura");
    var pesoInformado = prompt("Informe seu peso");
    var imcCalculado = calculaImc(alturaInformada, pesoInformado);

    document.write("O seu IMC é " + imcCalculado);

Entretanto obtenho como resposta: O seu IMC é NaN. O que estou fazendo de errado?

2 respostas

Olá Artur! É porque você deve estar informando sua altura e peso com vírgula. Use .(ponto) ao invés de vírgula. Por exemplo, para indicar a altura 1,75...digite 1.75 Mesma coisa para o peso, sem vírgula (65,4 kilos, informe 65.5) NaN Significa "Not a Number".

solução!

Artur, o problema provavelmente é o que o Thiago indicou, mesmo. Se quiser burlá-lo, ou seja, ser capaz de enviar um número com vírgula, pode substituir a vírgula do input do usuário por um ponto, com o método replace. Ficaria assim:

var alturaInformada = prompt("Informe sua altura").replace(',', '.');
var pesoInformado = prompt("Informe seu peso").replace(',', '.');

Abraços 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