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

Como somar dois numeros sem que eles concatenem??

Eu estou tentado somar peso e altura. Onde o peso é 100 e altura é 2.00, o resultado deveria ser 102. Mas o console apresenta 1002.00. Claro que se eu multiplicar ou dividir ou subtrair funciona. Como se faz a soma nesse caso.

var paciente = document.querySelector("#primeiro-paciente");
var tdPeso = paciente.querySelector(".info-peso");
var tdAltura = paciente.querySelector(".info-altura")
var tdGordura = paciente.querySelector(".info-gordura");
peso = tdPeso.textContent;
altura = tdAltura.textContent;
gordura = tdGordura.textContent;
var res = peso + altura;
console.log(res)
2 respostas

Olá Valmyr!

Basta transformar em float antes de atribuir o valor à variável res (pois peso tem ponto flutuante):

var res = parseFloat(peso) + parseFloat(altura);

Espero ter ajudado!

solução!

Olá Valmyr!

O que acontece é que quanto você está atribuindo o valor a variavel peso e altura eles estão usando a propriedade textContent:

peso = tdPeso.textContent;
altura = tdAltura.textContent;

Essa propriedade nos retorna um valor do tipo String, então é a mesma coisa que se fizessemos:

peso = "100";
altura = "2.00";

Por isso que quando você usa o operador + ele concatena:

"100" + "2.00" = 1002.00

Para que isso não ocorra precisamos converter o valor para um numero flutuante (não pode ser inteiro pois peso e altura não são numeros exatos):

peso = parseFloat(tdPeso.textContent);
altura = parseFloat(tdAltura.textContent);

Espero ter ajudado! :D

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