faça o seguinte:

For i := 1 to NParcela do
Begin
       If i = NParcela Then
             Parc[i] := ValorTotal - RoundTo(ValorTotal / NParcela,13,2) *
(NParcela - 1)
       Else
             Parc[i] = RoundTo(ValorTotal / NParcela,13,2);
End;

2009/11/25 Tico <doutort...@gmail.com>

>
>
> Boa tarde senhores,
>
> Estou tendo um problema com arredondamento no meu sistema. É o seguinte:
>
> Se o valor da minha nota é de R$ 1477,00, e preciso dividir em 3 parcelas
> eu
> antes deixava simplesmente 3 parcelas de R$ 492,33.
> O problema é que agora, com a NF-e, os clientes estão exigindo que a soma
> das parcelas sejam exatamente o valor da nota (o que é lógico), já que na
> forma antiga totalizava R$ 1476,99.
>
> Montei uma rotina que, durante um loop na minha tabela temporária de
> duplicatas faço o seguinte:
>
> // Somente a primeira parcela leva o valor do ICMS-ST
> // A primeira parcela é arredondada e divide-se o restante nas
> demais
> nParcela := ((nValTotNota - nTotValICMSST) / iQtdParc) +
> nTotValICMSST;
> if (DM.TabFaturas.RecordCount > 1) then begin
> if (DM.TabFaturas.Bof) then begin
> nDiferenca := Round(nParcela);
> nDupl1 := nDiferenca;
> end else
> nDupl1 := (nValTotNota - nDiferenca) / (iQtdParc - 1);
> end else
> nDupl1 := (nValTotNota - nTotValICMSST - nDiferenca) / (iQtdParc)
> + nTotValICMSST;
>
> Neste caso, a nota de R$ 1477,00 ficaria 1 parcela de R$ 492,00 e 2
> parcelas
> de R$ 492,50.
>
> Mas me apareceu um outro caso onde o valor da nota é R$ 5670,00 e preciso
> dividir em 4x.
> Fica 1 parcela de R$ 1418,00 e as outras 3 de R$ 1417,33 o que me leva
> novamente ao primeiro caso.
>
> Alguém já teve algum problema parecido? Obigado pessoal.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Leandro, MuTukA


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a