Página 2 de 2

Re: Arredondamentos...

Enviado: 08 Set 2009 00:03
por alxsts
Saudações!

Penso que a lenha fui eu quem colocou, em um tópico aparentemente encerrado, de forma tri-legal. Voce apenas jogou gasolina... Certamente o fogaréu resultante deu mais luz à discussão. Honestamente? Vou descansar... Mais tarde voltaremos.

Re: Arredondamentos...

Enviado: 08 Set 2009 03:33
por Maligno
Sygecom escreveu:existe uma normal que regulariza isso que é a Norma ABNT
Essa norma ABNT, nessa área, não faz muita diferença, embora coincida com o método do Clipper e que é, aliás, o mesmo método usado em funções de formatação para apresentação visual da VCL do Delphi/Builder. Mas a função Round() da VCL (sim, o nome é igual) usa o método do "banqueiro".
Em função disso temos que cuidar muito ao utlilizar algo contrario, pricipalmente quando se for em um documento fiscal
Note que em NFs, por exemplo, usando o método que for, sempre poderá haver diferença nos cálculos de produtos que tem valores fracionados. É onde mora o perigo. Numa sequência de cálculos dos ítens pode ocorrer um erro ao utilizarmos o resultado dessa soma no cálculo do ICMS, por exemplo. Eu acerto o cálculo parcial sempre no último ítem da NF. Ele recebe a diferença. Aí sim a soma dos ítens sempre bate com o total da NF. E o imposto sai certo. A dica me foi passada por um fiscal da Receita. Aí sim, concordo, é preciso realmente tomar cuidado. Mas não depende do método de arredondamento. Inclusive, há uma certa tolerância do governo com relação a alguma diferença em função de arredondamentos. A discrepância só não pode ser exagerada, claro. :)

Mas como regra geral, as instituições financeiras sempre utilizam o método do "banqueiro", até porque, eles não podem ter e nem podem causar prejuízo. Daí a importância desse método. Essa norma ABNT não permite tal "equilíbrio". Logo, não há porque considerá-la. Aliás, um detalhe interessante que me passaram: no COBOL, usado pelos bancos há tanto tempo, o método do "banqueiro" é padrão, embora haja um meio de reconfigurar isso no código.

Re: Arredondamentos...

Enviado: 08 Set 2009 14:43
por carlos_dornelas
Pessoal, estudando o assunto em questão (arredondamentos) me deparei também com o SET FIXED e o SET DECIMALS TO. Alguém pode me explanar quando usar isso e para que servem?

Re: Arredondamentos...

Enviado: 08 Set 2009 14:48
por Maligno
Esses dois comandos só tem a ver com apresentação. O comando SET FIXED <ON | OFF>, se ligado, faz com que a apresentação de números tenha tantas casas decimais quanto aquelas definidas através de SET DECIMALS TO. Tem mais alguns detalhes. Mas é melhor ler o NG a respeito.