dúvida sobre campo do tipo double precision

11/02/2005

0

olá pessoal,

no banco firebird da empresa q trabalho está aparecendo em alguns campos do tipo double precision o seguinte valor =7,105427357601E-15
e eu comecei a pesquisar dentro do banco e vi q isso acontece quando um trigger ou procedure efetua uma subtracao no banco por exemplo:

existe uma trigger q ao deletar compras de uma tabela ela subtrai o valor dessa compra em um registro em outra tabela, só q se tiver por exemplo quatro compras uma com 1 real e outras tres com 0,01 centavo e eu deletar primeiro 1 real e depois os centavos o valor do registro q sofreu a subtracao fica 7,105427357601E-15, mas se eu deletar primeiro os tres 0,01 centavo e depois 1 real o registro fica =0 q é o correto.

alguem pode me explicar oq acontece?

será algum problema com esse tipo de campo double precision?


Tap_pedroso

Tap_pedroso

Responder

Posts

11/02/2005

Afarias

sim, campos DOUBLE PRECISION não são bons para cálculos q exigem precisão (se vc notar, o valor observado é *MUITO* próximo de ZERO -- 7,1 * 10^-15)

para ter cálculos precisos, use NUMERIC (que internamente usará tipos inteiros para manter o valor, o q tornará os cálculos precisos)


T+


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar