[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