Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Em Função De Soma


Marc_Dias

Pergunta

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...

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 ajudar

Agradeço

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
<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>

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não entendi qual o problema porque com o Fixed, arredonda e deixa com 2 casas decimais, eu fiz um teste:

tarifa1 = 1,96

tarifa2 = 12,142

desconto1 = 4,578

desconto2 = 1

resultados:

total_tarifa = 14.10

total_desconto = 5.58

total = 8.52

ou seja, todos os resultados com 2 casas decimais

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...