[firebase-br] Problema casas decimais

Tecnobyte Informática temp2 em tecnobyte.com.br
Sex Jul 15 12:09:00 -03 2011


Olá Samuel

Já palestrei sobre este assunto e o material da palestra está disponível 
através do link abaixo:

http://www.tecnobyte.com.br/palestras/numeros.zip

O arredondamento do Delphi é diferente do arredondamento das calculadoras 
financeiras. Na unit dpgMath.pas existem funções que fazem arredondamento e 
truncamento da mesma forma que as calculadoras financeiras.

Talvez possa te ajudar a resolver o problema.

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br


-----Mensagem Original----- 
From: Samuel M. Basso
Sent: Friday, July 15, 2011 7:18 AM
To: FireBase
Subject: [firebase-br] Problema casas decimais

Bom dia.

Estou tendo problemas com casas decimais, diferença de centavos, utilizo
Delphi 7 e Firebird.

Os campos:
ALQ_IPI NUMERIC(5,3)
VLR_B_CAL_IPI NUMERIC(11,2)
VLR_IPI NUMERIC(11,2)

O calculo no delphi:
ItensVLR_IPI.Value := ItensVLR_B_CAL_IPI.Value * (ItensALQ_IPI.Value / 100);

ItensVLR_IPI.Value := 2.857,50 * 0,15
ItensVLR_IPI.Value = 428,62

Agora se eu fizer na calculadora:
2.857,50 * 0,15 = 428,63


Diferença de 1(UM) centavo.


Alguém tem idéia do motivo do delphi dar essa diferença? Como os campos no
banco de dados estão com 2 casas decimais o delphi não deveria arredondar?

-- 


Atenciosamente,

*Samuel M. Basso*
Fone: (54) 3462-5522
Cel: (54) 8135-3723
Skype: samuelbasso
Twitter: @samuelbasso
E-mail/MSN: samuelbasso em gmail.com
Web site: www.otimizy.com.br 





Mais detalhes sobre a lista de discussão lista