Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
5
respostas

Retorno de funções

Olá! Gostaria de saber por qual motivo meu programa está retornando apenas o peso do usuário quando tento calcular o imc através da função imcCalculation, sendo que o retorno das variáveis myWeight e myHeight retornam inteiros, pois utilizei o parseInt() para converter o valor inserido na função prompt. Obrigado desde já a quem se despuser em ajuda.

<meta charset="UTF-8">

<script>

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

    function show(phrase) {
        document.write(phrase);
        jumpLine();
    }

    function imcCalculation(weight, height) {
        var imc = weight / (height * height);
        return imc;    
    }

    var myName = prompt("What's your name? ");
    var myWeight = parseInt(prompt("What's your weight?"));
    var myHeight = parseInt(prompt("What's your height?"));
    var myImc = imcCalculation(myWeight, myHeight);
    show(myName + " your imc is " + myImc);

</script>
5 respostas

Copiei e colei o código e aparentemente funcionou peso = 50 altura = 170

printou daniel your imc is 0.0017301038062283738

Daniel Sahara, você esqueceu de colocar o ponto flutuante na altura. De qualquer forma, pelo menos no seu o resultado não retornou apenas o peso. Obrigado pela sua atenção!

solução!

A ta, agora entendi... O parseInt, serve apenas para numeros inteiros... Se voce der um parseInt num ponto flutuante, ele pego so o começo do numeros antes do ponto.

Se quiser usar ponto flutuante, use parseFloat ao invés de parseInt, ai acho que vai funcionar

Pô cara, realmente! Caramba! Fiquei até sem jeito agora de errar isso. Muito obrigado!

De nada !!

Eh normal cara, acontece nas melhores famílias hehehhe!!