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

Não consigo obter resposta da função por falha de NaN

Olá, estou tendo dificuldade para obter o valor da resposta numérica, na parte do innerHTML so consigo botar ate duas variaveis para obter resultado, por exemplo, (Vcamisa + Vstrap) desta forma consigo, mas se coloco mais uma variavel tenho como resposta NaN. Segue a parte do codigo abaixo:

            function Calculo(){
                let Camisa = parseInt(document.getElementById("Camisa").value);
                let pre =parseInt( document.getElementById("pre").value);
                let cinto =parseInt(document.getElementById("cinto").value);
                let strap = parseInt(document.getElementById("strap").value);
                let creatina = parseInt(document.getElementById("creatina").value);
                let Nome = document.getElementById("nome").value;
                let Email = document.getElementById("email").value;

                var Vcamisa = Camisa * 70;
                var Vpre = pre * 110;
                var Vcinto = cinto * 99;
                var Vstrap = strap * 33.90;
                var Vcreatina = creatina * 88.80;

                


                document.getElementById('res').innerHTML = "Nome do comprador: " + (Nome) + "," + "Email do comprador: " + (Email) + "," + "Valor da compra" + (Vstrap + Vcreatina + Vcamisa + Vpre + Vcinto);
                
            }
3 respostas
solução!

Olá Gabriel, tudo bem?

Pelo que entendi, você está tendo dificuldade em obter o valor da resposta numérica em sua função, pois está recebendo NaN (Not a Number) como resposta quando tenta adicionar mais de duas variáveis.

Uma possível solução para isso é verificar se todas as variáveis estão sendo definidas corretamente e se estão sendo utilizadas no cálculo. Verifique também se todas as variáveis estão sendo convertidas para o tipo correto (no caso, números inteiros) antes de serem utilizadas em operações matemáticas.

Outra dica é utilizar o método isNaN() para verificar se uma variável não é um número antes de utilizá-la em operações matemáticas. Isso pode ajudar a identificar qual variável está causando o problema.

Segue abaixo um exemplo de como utilizar o método isNaN() em seu código:

function Calculo(){
    let Camisa = parseInt(document.getElementById("Camisa").value);
    let pre = parseInt(document.getElementById("pre").value);
    let cinto = parseInt(document.getElementById("cinto").value);
    let strap = parseInt(document.getElementById("strap").value);
    let creatina = parseInt(document.getElementById("creatina").value);
    let Nome = document.getElementById("nome").value;
    let Email = document.getElementById("email").value;

    var Vcamisa = Camisa * 70;
    var Vpre = pre * 110;
    var Vcinto = cinto * 99;
    var Vstrap = strap * 33.90;
    var Vcreatina = creatina * 88.80;

    // Verifica se alguma variável não é um número
    if (isNaN(Vcamisa) || isNaN(Vpre) || isNaN(Vcinto) || isNaN(Vstrap) || isNaN(Vcreatina)) {
        document.getElementById('res').innerHTML = "Erro: uma das variáveis não é um número";
    } else {
        document.getElementById('res').innerHTML = "Nome do comprador: " + Nome + "," + "Email do comprador: " + Email + "," + "Valor da compra: " + (Vstrap + Vcreatina + Vcamisa + Vpre + Vcinto);
    }
}

Espero ter ajudado e bons estudos!

Consegui achar o erro por meio da verificação da variável que estava dando NaN, muito obrigado!!

Boa! Ai sim, que bom que conseguiu resolver. Valeu o retorno :)