[firebase-br] Qual melhor usar Numeric ou Double Precision
Luciano franca
luapfirebird em yahoo.com.br
Qua Jul 6 20:20:24 -03 2016
Pessoal estou numa duvida cruel, antes do FB 3 eu tinha uma rotina que alterava meus Domains pelas tabelas do sistema do Firebird agora com o FB 3 não consigo mais
assim vou ter que deixar fixo no sistema algo como "Numeric(10, 6)" porque meu sistema permite trabalhar até com 6 casas decimais porem estou tendo problemas com alguns relatórios onde está me dando o erro "Integer overflow. The result of an integer operation caused the most significant bit of the result to carry."
Achei esse Link "http://www.firebirdfaq.org/faq207/" que me explica o motivo porém vou ter problemas assim estava pensando em trabalhar com "Double Precision" já fiz alguns testes e parece que ele funciona bem, agora a questão é depois conforme for usando aparecer algum problema no cliente depois ai para voltar terei problemas.
Pelos meus testes o Tipo Float é bem problemático porem o "Double Precision" é muito bom.
Alguns exemplos de valores e resultado nos campos para comparativos
Valor Double Precision Float
"10,000059" "10,000059" "10,0000591278076"
"999,199" "999,199" "999,198974609375"
"999999999,199" '999999999,199000001' "1000000000"
Algum colega usa esse tipo de campo Double ? eu tenho que usar varias casas decimais no meu caso eu Deixo Numeric(10, 6) porém na configuração do sistema se o cliente colocar 2 casas decimais eu travo no sistema para ele não digitar mais que duas casas decimais e ainda coloco um FormatFloat em todos os relatórios para 2 casas decimais.
Grato a todos.
Mais detalhes sobre a lista de discussão lista