[firebase-br] Casas Decimais
Antonio Bonelli Junior
bonellijr em gmail.com
Seg Jul 6 18:10:46 -03 2009
Boa noite!
Peço a ajuda para entender o problema a seguir:
Campos da Tabela:
==============
QTDE NUMERIC(15,3)
CUSTOTOTAL NUMERIC(18,2)
CUSTOMEDIO NUMERIC(18,6)
Exemplo:
-------------
QTDE = 150.000
CUSTOTOTAL = 183.50
CUSTOMEDIO = 1.223330, ou seja, CUSTOTOTAL/QTDE
Dúvida:
----------
O valor correto nesse caso seria 1.223333.
Pelo que eu entendi, está sendo considerado o número de casas decimais, o
resultado da soma de casas decimais do campo QTDE e CUSTOTOTAL, ou seja, 5
casas decimais.
Mesmo utilizando CUSTOMEDIO=CAST(CUSTOTOTAL/QTDE AS NUMERIC(18,6)) o
resultado não muda.
Sei que se eu aumentasse para 3 o número de casas decimais de CUSTOTOTAL,
obteria o resultado desejado com 6 casas.
A pergunta é:
-------------------
a) Por quê não é respeitado a definição dos campos corretamente, ou seja, se
o resultado da operação (183.50/150) é igual a 1.223333333... e o campo é
definido com 6 casas decimais, resultado final seria 1.223333 ?
b) Existe alguma outra maneira de fazer isso sem precisar mudar o número de
casas decimais de algum campo incluído na operação?
Desde já agradeço a todos
Antonio Bonelli Junior
Mais detalhes sobre a lista de discussão lista