[firebase-br] Resultado de conta diferente apenas no firebird, porquê?

Carlos H. Cantu listas em warmboot.com.br
Qui Out 29 16:32:05 -03 2015


A precisão (casas decimais) do resultado de divisão no firebird será
sempre a soma da precisão dos membros da formula.... no seu caso,
2183.48 (2) e 37.25 (2) o resultado terá 2+2 = 4 casas decimais. Se
quiser mais, use um cast, ou aumente as decimais de algum membro, ex:

(2183.48/(1-(37.25/100.00)))

dará 6 casas decimais no resultado (2 + 2 + 2)

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

GS> Pessoal é o seguinte, ao executar a seguinte sentença matemática:
GS> select (2183.48/(1-(37.25/100))) as valor from rdb$database

GS> No Firebird, o resultado que obtenho é sempre o mesmo, isto é, 3465,8412
GS> Mas em qualquer lugar que vou, já tentei Excel, LibreOffice Calc, Microsoft
GS> SQL Server a té mesmo o Google, o valor correto é 3479,6494023904.

GS> Debugando porque isso acontece descobri que o problema está em
GS> (1-(37.25/100)) na sentença, se eu trocá-la por (1-0.3725) então passa a
GS> corresponder corretamente.

GS> Eu gostaria de entender porque isso aconteceu para talvez olhar cálculos
GS> passados.

GS> []´s a todos





Mais detalhes sobre a lista de discussão lista