Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa noite

Pessoal, quando estou gerando as parcelas de uma determinada venda estou tendo problema com os centavos.

Por exemplo:

Eu fiz uma venda de 50,00 e pedi pra dividir em 3 vezes ... ela gera 3 parcelas de 16,67 que dá 50,01.

Dai o valor total da venda não bate com o valor total das parcelas.

Alguém usa alguma rotina para arredondar o valor das parcelas?

Postado

Dfox, Bom dia!

Para evitar essas situações, só existe uma maneira, verificar se a soma das parcelas corresponde ao valor total, senão, calcular a diferença e alterar uma das parcelas, ou a primeira ou a última.

  • Curtir 1
Postado

Eu acho que se fizer com variávem também daria certo

 

var VValorTotal, VValorDividido, VValorResultado:Currency;
begin
  VValorTotal := 50;
  VValorDividido := VValorTotal / 3;

  Edit1.Text := floattostr(VValorDividido);


  VValorResultado := VValorDividido * 3;

  ShowMessage(FormatFloat('0.00', VValorResultado));

Postado

Resolvido fiz algo similar a isso.

uses math;

procedure TForm1.Button1Click(Sender: TObject);
 var val, parc, primeiraparcela : real;
begin
    val := 5;
    parc := trunc((val / 3) * 100) / 100; // garanto duas casas decimais

    primeiraparcela := val - (parc * (3 - 1));
    edit1.text := formatfloat(',0.00',primeiraparcela);
    edit2.text := formatfloat(',0.00',parc);
    edit3.text := formatfloat(',0.00',parc);
end;

  • Este tópico foi criado há 1377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.