Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Convertendo texto com decimais em número

Eu estou tentando adicionar o parseInt em minha tabela de IMC. Mas ao utilizar número com decimais, no caso da altura, ela não funciona. Então o código teria que ficar com a função em uma variável, mas não na outra ou tem alguma função que pode substituir?

Segue meu código:

<meta charset="utf-8">


<style type="text/css">
#corpo {
    text-align: center;
    font-size: 24px;
    font-family: Arial, Helvetica, sans-serif;
    padding-top: 20%;
}
</style>

<div id="corpo">
    <script type="text/javascript">

        function quebra() {
            document.write("<br><br>");
        }



        function mostrar(frase){
            document.write(frase);
        }

        function calcImc(peso, altura) {
            return peso / (altura * altura);
        }

        function resultado() {
            mostrar (nome + ", seu IMC é " + imc + ".");
            quebra();
            if (imc < 18.5){
                mostrar("Isso indica que você está abaixo do peso indicado.");
            } else if (imc >= 18.5 && imc <= 35 ) {
                mostrar("Isso indica que seu IMC está dentro da média indicada.");
            } else if (imc > 35) {
                mostrar("Isso indica que você está com peso acima do indicado.");
            }
        }

        var nome = prompt("Olá! Como você se chama?");
        var peso = parseInt(prompt("Para calcular seu IMC preciso saber qual o seu peso?"));
        var altura = prompt("E quanto você tem de altura? Por favor utilize a medida em metros.");

        cafezinho = confirm("Pronto, agora só esperar alguns segundos enquanto trabalhamos no calculo. Você aceita um cafézinho enquanto isso?");
        if (cafezinho){
            alert ("Nossa, nem deu tempo, seu resultado já está pronto!");
        } else {
            alert ("Que pena, fica para a próxima!");
            alert ("Pronto! Seu resultado já está disponível!")
        }

        var imcCalc = calcImc(peso, altura);
        var imc = imcCalc.toFixed(1);

        resultado();



    </script>
</div>
1 resposta
solução!

Utilizei a função parseFloat, dei uma lida no Mozilla Web Docs e foi a solução que encontrei. Tem alguma outra opção?