[firebase-br] Erro de Arredondamento

Sandro Souza escovadordebits em gmail.com
Ter Jan 14 13:09:33 -03 2014


Bom dia/tarde/noite Alisson.

Meu nobre amigo, são muitos os fatores que podem estar ocasionando essa
diferença de precisão.

1 - Dialeto da base de dados.

Procure criar sempre as bases de dados com o dialeto 3, pois nos dialetos
anteriores (1 e 2) os campos do tipo numeric e decimal são vistos como
Double pelo Delphi, e daí causa esse tipo de imprecisão numérica.
No dialeto 3, o Firebird procura sempre trabalhar internamente com valores
inteiros, divindindo-os e multiplicando-os por potências de 10 apenas
quando necessários devido às casas decimais.
No dialeto 3, por exemplo, um campo do tipo numeric com até 4 casas é
armazenado internamente como um SmallInt do Delphi (2 bytes = 16 bits),
independente da quantidade de casas decimais.
Um numeric com até

Em 14-01-2014 10:30, Alisson Santos - Union Tecnologia da Informação
escreveu:

Bom dia pessoal. Estou tendo um problema de arredondamento. Estou passando
para o banco de dados o valor de 161944,15 e o mesmo está gravando o valor
de 161944,16. Alguém pode me auxiliar?
______________________________________________ FireBase-BR (
www.firebase.com.br) - Hospedado em www.locador.com.br Para saber como
gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107 Para consultar mensagens
antigas: http://firebase.com.br/pesquisa



Mais detalhes sobre a lista de discussão lista