Ir para conteúdo
  • Cadastre-se

dev botao

Parcelar venda, arredondar parcelas.


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

Recommended Posts

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?

Link para o comentário
Compartilhar em outros sites

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));

Link para o comentário
Compartilhar em outros sites

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;

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1130 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.