[firebase-br] Casas Decimais

Eduardo Jedliczka edujed em gmail.com
Seg Jul 6 18:41:52 -03 2009


Antonio, sua definição está certa.

quanto ao CAST, ele resolverá o problema, caso seja colocado no local
correto! Pois no exemplo dado, o cast irá adicionar a SEXTA casa após já
ter realizado a conta com CINCO.

experimente: CUSTOMEDIO=CAST(CUSTOTOTAL AS NUMERIC(18,6)) / quantidade

Abraço

Eduardo

Em Seg, 2009-07-06 às 18:10 -0300, Antonio Bonelli Junior escreveu:

> 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
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa



Mais detalhes sobre a lista de discussão lista