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

toFixed(2) não funciona como no exercício.

Pessoal,

var titulo = document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista";

var paciente = document.querySelector("#primeiro-paciente");

var pacientes = document.querySelectorAll(".paciente");

for (var i = 0; i < pacientes.length; i++) {

    var paciente = pacientes [i];

    var tdPeso = paciente.querySelector(".info-peso");
    var peso = tdPeso.textContent;

    var tdAltura = paciente.querySelector(".info-altura");
    var altura = tdAltura.textContent;

    var tdImc = paciente.querySelector(".info-imc");

    // Validação
    var pesoEhValido = true;
    var alturaEhValida = true;

    if (peso < 0 || peso > 200) {
        pesoEhValido = false;
        tdImc.textContent = "Peso inválido";
        paciente.classList.add("paciente-invalido") ;
    }
    if (altura < 0 || altura >2.50){
        alturaEhValida = false;
        tdImc.textContent = "Altura inválida";
        paciente.classList.add("paciente-invalido");
    }
    if (pesoEhValido && alturaEhValida) {
        var imc = peso / (altura * altura);
        tdImc.textContent = imc;
    }
    // Fim da validação
}

function calculaImc(peso, altura) {
    var imc = 0;
    imc = peso / (altura * altura);
    return imc.toFixed(2);
}

Estou passando o toFixed(2) na posição indicada no exercício, porém, os números na tabela não estão arredondados. Só consigo fazer eles funcionarem se o toFixed for passado dentro da validação, dessa forma:

    if (pesoEhValido && alturaEhValida) {
        var imc = peso / (altura * altura);
        tdImc.textContent = imc.toFixed(2);
    }

Se alguém puder ajudar, serei grato.

3 respostas
solução!

Boa noite, Bruno! Como vai?

Isso está acontecendo pq em momento nenhum vc está invocando a função calculaImc()! O correto seria fazer assim:

if (pesoEhValido && alturaEhValida) {
     var imc = calculaImc(peso, altura);
     tdImc.textContent = imc;
}

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Passou completamente por mim aqui... Mas agora está funcionando! Obrigado!

Por nada, Bruno! Sempre que precisar de qualquer ajuda é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!