RE: [firebase-br] Melhor forma de criar campo Código e Dinheiro, qual?

Paulo Portella pportellaa em hotmail.com
Dom Abr 22 16:48:56 -03 2007


Nao, nao falou besteira.. Double pra calculos cientificos/financerios sim eh o melhor, pela qtde de casas decimais.
 
Quanto a dizer que num computador eh 4, e em outro eh 3,9999 tah meio errado isso.
 
De um modo geral:
Integer -> sim, eh otima escolha pra campos sequenciais;
 
Numeric (15,2) -> pra campos como VlrTotal, TotalItem, VlrVenda, enfim, tambem eh bom, mas existem casos que nao eh o sugerido, exemplo:
Operacoes Financeiras (como Exportacao/Importacao) nao eh uma boa escolha, pq vc fará calculos com mais de 2 casas decimais;
 
Double -> pro item anterior tambem eh valido, porem, pra calculos (como o que exemplifiquei) eh a melhor pedida;
 
Em um mesmo sistema, eu faco uso dos dois casos (numeric/double).
 
Por isso que eh muito bom vc fazer seus testes no projeto que aparentemente vc estah criando.
 
[]s
Pportellaa.
 



> To: lista em firebase.com.br> From: eduardo em icontroller.com.br> Subject: Re: [firebase-br] Melhor forma de criar campo Código e Dinheiro, qual?> Date: Sun, 22 Apr 2007 16:14:41 -0300> > Fellipe Henrique escreveu:> > Olá Eduardo, existe alguma explicação para isso, digo, que é melhor usar > > double do que integer.. tipo, processamento e tals..> > Olá Felipe> > Já li bastante sobre isso, mas sinceramente, é tudo muito chato. > Operações de ponto flutuante são feitas em termos de propabilidade, > assim, 2+2 algumas vezes dá 3,9999999999999999, e por incrível que > pareça, dizem ser mais precisas para cálculos científicos. Um problema > sério dessas operações é que o critério de arredondamento depende do > processador da máquina. Assim, em um computador, 2+2 é 4 e em outo é > 3,99999. Imagine o mesmo sistema, em uma mesma rede, obtendo resultados > diferentes conforme a máquina (vi isso acontecer).> As operações com currency ou bcd são consideradas para corresponder à > lógica financeira e oferecer precisão neste quesito. Com elas você tem > certeza que se a pessoa reproduzir o cálculo em uma calculadora, vai dar > a mesma coisa.> Quanto à performance, para o processamento, double é extremamente mais > rápido. Para a percepção humana, uma operação realizada e 3 milionésimos > de segundo, contra 6 milionésimos, não faz a menor diferença. Assim, a > menos que estejamos falando de processamentos extensos como renderização > de imagens e outros, não há diferença quanto à performance.> > Bem, utilizei apenas a minha memória para escrever estas linhas. Posso > dizer que depois que deixei de utilizar double e single no delphi, nunca > mais sofri com arredondamentos. Se falei alguma besteira (espero que > não), por favor alguém me corrija.> > []s Eduardo> > > ______________________________________________> 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
_________________________________________________________________
Obtenha o novo Windows Live Messenger!
http://get.live.com/messenger/overview


Mais detalhes sobre a lista de discussão lista