Soma com Float() da valor errado
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
Discussão (1)
Carregando comentários...