Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, Boa Tarde,
Pessoal, estou com dificuldade para somar os centavos quando o resultado passa para milhar.
Se eu somo 100,50 + 100,75, ele retorna 201,25 (está correto) mas se eu somo 1200,60 + 1600, ele retorna 2.8
Já tentei de tudo e não consigo resolver esse problema.
Segue abaixo o meu código:
<script>function mascara_num(obj) {valida_num(obj)if (obj.value.match("-")) {mod = "-";} else {mod = "";}valor = obj.value.replace("-", "");valor = valor.replace(",", ""); if (valor.length >= 3) {valor = poe_ponto_num(valor.substring(0, valor.length - 2)) + "." + valor.substring(valor.length - 2, valor.length);}obj.value = mod + valor;}function poe_ponto_num(valor) {valor = valor.replace(/\./g, "");if (valor.length > 3) {valores = "";while (valor.length > 3) {valores = "." + valor.substring(valor.length - 3, valor.length) + "" + valores;valor = valor.substring(0, valor.length - 3);}return valor + "" + valores;} else {return valor;}}function valida_num(obj) {numeros = new RegExp("[0-9]");while (!obj.value.charAt(obj.value.length - 1).match(numeros)) {if (obj.value.length == 1 && obj.value == "-") {return true;}if (obj.value.length >= 1) {obj.value = obj.value.substring(0, obj.value.length - 1)} else {return false;}}}function Calcular() {var saldo_inicial = (document.frmFlash.saldo_inicial.value.replace(",", "."));var saldo_inicial_sel = (document.frmFlash.saldo_inicial_sel.value.replace(",", "."));var soma = parseFloat(saldo_inicial) + parseFloat(saldo_inicial_sel);frmFlash.saldo_inicial_cons.value = soma;}</script> <tr><td bgcolor="#000099" align="left" width="200"><font color="white"><b>Saldo Inicial</b></font></td><td bgcolor="#000099" align="center" width="150" colspan="2"><input type="text" name="saldo_inicial" size="12" class="Linhas" onkeyup="mascara_num(this);"></td><td bgcolor="#000099" align="center" width="150" colspan="2"><input type="text" name="saldo_inicial_sel" size="12" class="Linhas" onkeyup="mascara_num(this);" onblur="javascript:Calcular();"></td><td bgcolor="#000099" align="center" width="150" colspan="2"><input type="text" name="saldo_inicial_cons" size="12" class="Linhas" readonly></td></tr>
Alguém pode me ajudar!!!
Preciso saber como faço para o resultado da soma 1200,60 + 1600, retornar 2.800,60, ao invés de retornar 2.8.
Carregando comentários...