1
resposta

Numeros decimais

"Não é necessário usar o parseFloat() quando lemos os dados de peso e altura no cálculo do IMC, pois são como operações de divisão e multiplicação. O JavaScript já realiza a conversão implícita para nós. Contudo, é uma boa prática usar parseInt() ou parseFloat() se queremos ler números inteiros ou decimais fornecido pela função prompt. Nem sempre a conversão implícita vai dar certo, como é o caso do número de vitórias e empates".

Então, mesmo trabalhando com números decimais eu não preciso, necessariamente e explicitamente declarar assim? Da forma como está o texto eu posso informar 1.80 e mesmo assim ele interpretar como float, fazendo uma conversão implicita.

1 resposta

Neste caso você não precisava utilizar parseFloat() nem o parseInt, porque graças ao Math.round o número nunca seria quebrado, ou seja, não precisamos utilizar o parseFloat, e por causa da divisão e multiplicação, a variavel passa automaticamente de frase para número, ou seja, também não é necessário usar o parseInt.

function calculaImc(peso, altura){
        return Math.round(peso/(altura * altura)); 
    }

    var nome = prompt("Qual seu nome?")
    var peso = prompt(nome + ", qual seu peso?(Com ponto inves de virgula)");
    var altura = prompt(nome + ", qual é sua altura?(Com ponto inves de virgula)");
    var imc = calculaImc(peso, altura);

Mas caso essas condições não existissem seria necessário utilizar o "parseInt" , para números inteiro, ou "parseFloat", para números quebrados. Espero ter explicado bem, se não entendeu só responder que tento explicar melhor :) Se entendeu Marca como Resolvido