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