Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando aplicar uma simples expressão com js, porém o resultado não é como esperado:
var horasP = document.getElementById("horas_p").value; //Valor de entrada: 5
var minP = document.getElementById("min_p").value; // Valor de entrada: 45
horasP *= 60 + minP;
console.log(horasP);
saída: 30045
Ocorre uma concatenação na saída, ele executa somente a multiplicação.
Pensei ser um erro na minha expressão, então tentei:
horasP *= 60;
horasP += minP;
saída: 30045
Além disso, o operador "/=" simplesmente não funciona...
O seu problema não é a operação mas o desconhecimento dos operadores da linguagem e dos tipos de dados.
Informação:
O operador "+": em javascript é usado para concatenar strings.
O operador "+": tem como propósito de cálculo apenas os tipo numéricos
Erro:
Seu erro foi calcular "strings" usando o operador de concatenação.
Solução:
Deve-se converter os dados dos inputs "string" para um tipo numérico como float ou Int
Ex: O parseInt está presente apenas no "minP" onde ocorreria a concatenação resultando no valor de "345"