[firebase-br] Qual Campo usar Numeric ou Double Precision ?

Luciano franca luapfirebird em yahoo.com.br
Qui Jul 7 15:57:05 -03 2016


  Nossos programas são iguais eu tenho tenho um controle do lado do cliente onde ele define as casas decimais e fixo esses decimais nos controles TEdit  e outros controles também 
uso FormatFloat nos relatórios, com isso eu nunca tive problema.
 O que não gosto de fazer é aumentar o tamanho do Campo no Domain assim eu Deixava como Numeric(10, 2)  se o cliente precisa-se aumentar eu alterava apenas o decimal exemplo  Numeric(10, 3)  mais eu não subia para "11, 3"  assim precisava mexer pela tabelas de sistema,  como agora na versão 3 o FB não permite mais mexer nas tabelas de sistema já estou tento que deixar definido como "10, 6"  e vou controlar a quantidade de decimais tudo na aplicação  assim se o cliente optar por 2 casas decimais vai salvar no banco de dados algo como "12,560000"  o problema é que nos relatórios isso dá erro devido o numero de casas decimais ai tive a ideia de usar o "Double Precision"  que em meus testes não estou tendo problemas  veja essa tabela abaixo
  Valor                            Double Precision                    Float  10,000059                   10,000059                             10,0000591278076  999,199                       999,199                                 999,198974609375  999999999,199           999999999,199000001         1000000000  0,333333333               0,333333333                          0,3333333432674  0,5959595959             0,5959595959                        0,5959596037865
 Sempre vejo dizer na internet que o Float e o Doube Precision   não tem precisão na escala porém em meus teste tenho percebido outra coisa como você pode ver o Campo do Tipo Float sim tem problemas porém o Double está correto.
  Para testar é simples criei uma tabela nova no IBExpert onde cada campo foi de um tipo diferente de depois foi colocando o valores e dando commit para ver o resultado final.
  Não estou entendo o problema com o campo Double  não sei se existe algum tipo de valor que ele vai se perder.
  Grato.


Mais detalhes sobre a lista de discussão lista