Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gabbay

Soma com Float() da valor errado

Recommended Posts

Ae galera, é o seguinte, eu fiz um script para somar campos, só que no 3° campo repetido com o valor 960,30 , ao invés de dar 2880,90 aparece 2880,89999999...

o codigo é esse:

 

function somar(){			totalAMB=0;	for(a=1; a<conta; a++) {		if (document.getElementById('AMB_Valor'+a)){			if(document.getElementById('AMB_Valor'+a).value != ""){				valorPorte = document.getElementById('AMB_Valor'+a).value.replace(".", "");				valorPorte = valorPorte.replace(",", ".");				valorPorte = parseFloat(valorPorte);				totalAMB = (parseFloat(totalAMB) + parseFloat(valorPorte));								}		} 	}	totalAMB = totalAMB.toString();	if (totalAMB.indexOf('.')>=0){		tmpValor = totalAMB.split('.');		if(tmpValor[1].length==1){			totalAMB = tmpValor[0]+','+tmpValor[1]+'0';		} else if (tmpValor[1].length==2){			totalAMB = totalAMB.replace(".", ",");		} else if (tmpValor[1].length>2){			totalAMB = tmpValor[0]+','+tmpValor[1].substring(0, 2);		}	} else if (totalAMB.indexOf('.')<0){		totalAMB = totalAMB+',00';	}	document.getElementById('valorTotal').value = totalAMB;			setTimeout("somar()",5000);	}		setTimeout("somar()",300);

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso pode ajudar a diminuir tamanho de validações

 

alert( (2880.89999999).toFixed(2) )

alert( (2880.8).toFixed(2) )

 

 

o método toFixed converte o numero para string

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.