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

Não reconhece a ","

Caros, o código está funcionando normalmente, mas ao disponibilizar para que minha família realizassem os testes nele o mesmo não reconhecem quando colocam uma virgula quando o campo quando é exibido "informe sua altura em metros"

Como corrigir o problema?

var alturaInformada = prompt (nome + " , informe sua altura em metros.");

Código completo

<meta charset="UTF-8">

<script>

    function jump() {

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

    }

    function txt(string) {

        document.write("<big>" + string + "<big>");
        jump();

    }

    function calculatorImc (altura, peso) {

        var imc = peso / (altura * altura);
        return imc;

    }

    var nome = prompt ("Informe seu nome");
    var alturaInformada = prompt (nome + " , informe sua altura em metros.");
    var pesoInformado = prompt (nome + " , informe seu peso em Kg.");

    var imc = calculatorImc (alturaInformada, pesoInformado);

    txt (nome + " seu IMC é " + imc);

    if (imc >= 25) {
        alert ("Você está acima do peso recomendado para sua altura de acordo com a OMS (Organização Mundia da Saúde).");
    }

    if (imc <= 18.5) {
        alert ("Você está abaixo do peso recomendado para sua altura de acordo com a OMS (Organização Mundia da Saúde).");
    }

    if (imc >= 18.5 && imc <= 25) {
        alert ("Seu peso recomendado para sua altura está dentro do recomendado pela OMS (Organização Mundia da Saúde).");
    }

    txt ("Segundo a Organização Mundial da Saúde a classificação de um IMC abaixo de 18,5 é classificado como abaixo do peso, entre 18,5 e 25 é classificado como saudável e acima de 25 acima do peso.");

    txt ("Para mais detalhes clique <a href=\"http://drmarcoassuncao.com.br/wp-content/uploads/2016/08/imc.png\">\aqui\</a>");

</script>
5 respostas

Se eu entendi a sua dúvida eu acho que o problema é que a entrada deve ser feita com ponto e não com vírgula. Exemplo: 1 metro e 75 centímetros deve ser escrito como 1.75 e não 1,75.

Isso! E quando alguém digita com vírgula ele exibe NaN mas com ponto ele funciona normalmente

solução!

Eu andei dando uma pesquisada e você pode usar a função replace();

Sendo o seu caso ficaria assim:

var alturaInformada = prompt(nome + " , informe sua altura em metros.").replace(",",".");

Boa dica!!

Perfeito Thiago! Valeu!

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