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

uso do toFixed para reduzir o numero de decimais

Já tenho alguma experiência com linguagem C, por conta disso fui experimentando algumas coisas no código, porém, quando eu usava o x.toFixed(1) para diminuir as casas decimais do IMC, a soma sempre concatenava ao invés de somar, a alternativa que cheguei foi em criar uma função chamada "write_round", existe uma forma mais simples?

<meta charset="utf-8">

<script>

    function pula_linha () {

        document.write ("<br><br>");

    }

    function write (string) {

        document.write(string);
        pula_linha();
    }

    function write_round (string) {

        document.write(string.toFixed(1));
        pula_linha();

    }

    function calcula_imc (altura, peso) {

        var imc = peso / (altura * altura);
        //write ("O IMC calculado é " + imc.toFixed(1));

        return imc;

    }

    function classificacao (imc) {

        if (imc < 18.5) {

        write ("Está abaixo do peso ideal");

        } else if (imc < 24.9) {

            write ("Está no peso ideal");

        } else if (imc < 29.9) {

            write ("Está com sobrepeso");

        } else {

            write ("Está obeso");

        }

    }


    var imc_joao = calcula_imc(1.75, 65);
    var imc_amigo = calcula_imc(1.69, 76);

    write_round(imc_joao);
    classificacao(imc_joao);
    write_round(imc_amigo);
    classificacao(imc_amigo);

    var total_imc = imc_amigo + imc_joao;
    write_round(total_imc);


</script>
1 resposta
solução!

Oi, João, tudo bem?

Obrigada por compartilhar o seu código e resolução conosco. Foi um solução interessante para o problema, com o uso da função você pode utilizar para outros tipos de valores decimais, não somente o do cálculo de imc.

Bons estudos!