Função javascript para somar, e não concatenar

Seguinte, tenho uma função aqui que faz uns cálculos e depois muda um campo, no caso o campo HG. Só que ao in´ves de ser somado a bonificação+a nota já do hg, ele simplesmente concatena! Exemplo, se a nota no hg está em 7.5, quando entra na funcção, passa a ser 7.50.25 no campo… Alguém pode dizer o por que?

function calcularNhMestrado(){
	
	var nhMestrado = 0.0;
	var hgMestrado = document.getElementById('hg').value;
	var cpcMestrado = document.getElementById('cpc').value;
	
	if(document.getElementById('outrosPremios').checked){
		
	var bonificacaoOutrosPremios = 0.25;
	var hgOutrosPremios = 0.0;
		
		hgOutrosPremios = (hgMestrado + bonificacaoOutrosPremios);
		document.getElementById('hg').value = hgOutrosPremios; 	
		nhMestrado = (hgMestrado*7.0 + (cpcMestrado*2.0)*3.0)/10;
	}

	else{
	nhMestrado = (hgMestrado*7.0 + (cpcMestrado*2.0)*3.0)/10;
	}

	document.getElementById('pos_grad_nh').value = nhMestrado;
	
 }
    var hgMestrado = document.getElementById('hg').value;

é uma string.

Quando você soma uma string com outra coisa, o resultado é uma string (“1” + 1 == “11”)

Converta o valor para um número (a maneira mais simples é você subtrair o valor 0 : )

    var hgMestrado = document.getElementById('hg').value - 0;

deu certo! obrigado :slight_smile: