Marc_Dias Postado Maio 23, 2007 Denunciar Share Postado Maio 23, 2007 Estou com um problema em uma função de soma, precisaria somar os centavos corretamente, e formatar o resultadocom duas casas decimais o que não está acontecendo conforme a imagem...function Calculo() { var tarifa1 = document.form1.tarifa1.value; var tarifa2 = document.form1.tarifa2.value; var desconto1 = document.form1.desc1.value; var desconto2 = document.form1.desc2.value; tarifa1 = tarifa1.replace(".",""); tarifa2 = tarifa2.replace(".",""); desconto1 = desconto1.replace(".",""); desconto2 = desconto2.replace(".",""); tarifa1 = tarifa1.replace(",","."); tarifa2 = tarifa2.replace(",","."); desconto1 = desconto1.replace(",","."); desconto2 = desconto2.replace(",","."); var total_tarifa = (parseFloat(tarifa1) + parseFloat(tarifa2)) var total_desconto =(parseFloat(desconto1) + parseFloat(desconto2)); var total =(total_tarifa - total_desconto); document.form1.tot_tarifa.value = total_tarifa; document.form1.tot_desc.value = total_desconto; document.form1.total.value = total;com esta função o valor total_tarifa por exemplo fica com mais de 6 casas depois do ponto.alguém pode me ajudarAgradeço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Maio 23, 2007 Denunciar Share Postado Maio 23, 2007 <script> function Calculo() { var tarifa1 = document.form1.tarifa1.value; var tarifa2 = document.form1.tarifa2.value; var desconto1 = document.form1.desc1.value; var desconto2 = document.form1.desc2.value; tarifa1 = tarifa1.replace(".",""); tarifa2 = tarifa2.replace(".",""); desconto1 = desconto1.replace(".",""); desconto2 = desconto2.replace(".",""); tarifa1 = tarifa1.replace(",","."); tarifa2 = tarifa2.replace(",","."); desconto1 = desconto1.replace(",","."); desconto2 = desconto2.replace(",","."); var total_tarifa = (parseFloat(tarifa1) + parseFloat(tarifa2)) var total_desconto =(parseFloat(desconto1) + parseFloat(desconto2)); var total =(total_tarifa - total_desconto); document.form1.tot_tarifa.value = total_tarifa.toFixed(2); document.form1.tot_desc.value = total_desconto.toFixed(2); document.form1.total.value = total.toFixed(2); } </script> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marc_Dias Postado Maio 24, 2007 Autor Denunciar Share Postado Maio 24, 2007 Sempre você para me ajudar hein..risosmas eu já tentei com o toFixed(2) também e deu o mesmo erro...mesmo assim obrigado mais uma vez por sua ajuda... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Maio 24, 2007 Denunciar Share Postado Maio 24, 2007 Eu não entendi qual o problema porque com o Fixed, arredonda e deixa com 2 casas decimais, eu fiz um teste:tarifa1 = 1,96tarifa2 = 12,142desconto1 = 4,578desconto2 = 1resultados:total_tarifa = 14.10total_desconto = 5.58total = 8.52ou seja, todos os resultados com 2 casas decimais Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marc_Dias
Estou com um problema em uma função de soma, precisaria somar os centavos corretamente, e formatar o resultado
com duas casas decimais o que não está acontecendo conforme a imagem...
com esta função o valor total_tarifa por exemplo fica com mais de 6 casas depois do ponto.
alguém pode me ajudar
Agradeço
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.