Re: RES: [firebase-br] Diferença fracionária

Pedro José F. Castro news.pj em gmail.com
Seg Abr 30 20:49:54 -03 2007


Convivo com este problema há algum tempo e até hoje não tenho solução
através do banco que me convença. Na aplicação, procuro sempre guardar os
dados já devidamente arredondados e compensados. Não faço os cálculos via
trigger ou sp, já os levo calculados. Exemplo... Se tenho que tirar 1/3 de
100 e armazenar o resultado e o equivalente a 3/4, com 4 casas, guardo logo
33.3333 e 66.6667 . Não deixo o FB calcular. ainda assim, se vc for no
IBExpert e clicar 2x no campo, ainda pode achar o lixo lá,
33.3332365428745968549 ou algo do tipo. Assim, sugiro tratar sempre na
aplicação.

At,
Pedro.

Em 25/04/07, Creusa Lobo Silva <lobosilva em prefeitura.sp.gov.br> escreveu:
>
> é colega mas eu trabalho com muitos cálculos será que não ficaria
> inviável?
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br]Em nome de brugnago brugnago
> Enviada em: quarta-feira, 25 de abril de 2007 08:01
> Para: lista em firebase.com.br
> Assunto: RE: RES: [firebase-br] Diferença fracionária
>
>
> e se vc utilizar o VarChar... como caracter dai vc faz do jeito q quer so
> que naum tem como somar, vc tera q transformar ele na hr de usar.
>
> Abraçcos
>
>
>
> >From: Creusa Lobo Silva <lobosilva em PREFEITURA.SP.GOV.BR>
> >Reply-To: FireBase <lista em firebase.com.br>
> >To: 'FireBase' <lista em firebase.com.br>
> >Subject: RES: [firebase-br] Diferença fracionária
> >Date: Wed, 25 Apr 2007 07:46:47 -0300
> >
> >Obrigada pela resposta. Também pensei no Currency, mas ele arredonda para
> 2
> >casas decimais e aqui não podemos trabalhar com 2 casas, tem que ter no
> >mínimo 4 casas decimais.
> >No Firebird estou usando o Numeric 15,6 que me aconselharam aqui na lista
> >mesmo. Mas o numeric arredonda né? Que tipo de campo posso atribuir aos
> >campos numéricos de forma que tenha as características do Numeric, porém
> >sem
> >arredondar? Talvez sem o arredondamento as diferenças diminuem.
> >
> >-----Mensagem original-----
> >De: lista-bounces em firebase.com.br
> >[mailto:lista-bounces em firebase.com.br]Em nome de Davi Eduardo Borges
> >Wall
> >Enviada em: segunda-feira, 23 de abril de 2007 17:55
> >Para: FireBase
> >Assunto: RES: [firebase-br] Diferença fracionária
> >
> >
> >Concordo com Nelson
> >Isso, utilize AsCurrency no Delphi.
> >
> >-----Mensagem original-----
> >De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> >nome de sicnemelpor em gmail.com
> >Enviada em: segunda-feira, 23 de abril de 2007 16:14
> >Para: FireBase
> >Assunto: Re: [firebase-br] Diferença fracionária
> >
> >Acho que a primeira coisa a fazer é converter para tipos monetários
> >(currency), e nunca usar double para isto. A diferença é devido à
> >imprecisão inerente de float/double.
> >
> >[]s
> >Nelson
> >
> > > Olá lista!
> > > Estou transferindo um sistema de almoxarifado do Paradox para
> Firebird.
> > > Este sistema sempre apresentou diferença fracionária, e agora após a
> > > transferência do banco estou me deparando com os mesmos problemas.
> > > Meus campos financeiros são do tipo Numeric (15,6) e no delphi eu uso
> a
> > > variável como  double.
> > > Alguem trabalha com saldos, kardex ou coisas do tipo? Como vocês
> > > contornam
> > > as diferenças fracionárias?
> > > Obrigada
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para editar sua configuração na lista, use o endereço
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >Para editar sua configuração na lista, use o endereço
> >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >Para editar sua configuração na lista, use o endereço
> >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >Para editar sua configuração na lista, use o endereço
> >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> _________________________________________________________________
> Descubra como mandar Torpedos do Messenger para o celular!
> http://mobile.msn.com/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista