[firebase-br] Double Precision, Numeric e valor 0

W O sistemas2000profesional em gmail.com
Seg Out 28 20:30:23 -03 2013


FLOAT y DOUBLE PRECISION se deben usar cuando se registra una "medida",
porque las medidas pueden ser un poquito inexactas y eso no afecta.

DECIMAL y NUMERIC se deben usar cuando se registra una "cantidad", porque
las cantidades se pueden conocer de forma exacta.

¿Cantidad de dinero, cantidad en stock, cantidad de alumnos, cantidad de
granos de arena? Se pueden conocer exactamente.

¿Distancia entre dos puntos, peso de un producto, volúmen de un gas,
voltaje de un aparato? es imposible conocerlos de forma exacta porque
siempre se puede realizar una medición aún más exacta.

Saludos.

Walter.



2013/10/28 Cyber Guido <cyberguido em gmail.com>

> O tipo "double precision" é ponto flutuante, e se presta apenas onde a
> precisão absoluta não se faz necessária. Se você vai medir a distância
> entre a Terra e Lua, o que são alguns metros para e para cá? Ou, se você
> vai medir a distância entre os fundos e a frente da sua casa, o que são
> alguns centímetros para lá ou para cá?
>
> Para usar um exemplo dado por um colega há muitos anos em uma outra lista
> de firebird, quantos números existem entre 0 e 1? Infinitos, certo? 0,1
> 0,11 0,111 0,234456789 e por aí afora. Para estoque, valore monetários, e
> campos similares onde sabemos de antemão a precisão requerida, usa-se
> numeric ou decimal.
>
> Este artigo ilustra os problemas inerentes à comparação de números ponto
> flutuantes:
>
> http://www.cygnus-software.**com/papers/comparingfloats/**
> comparingfloats.htm<http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm>
>
> Cordialmente,
> Carlos
>
>
>
> On 28/10/2013 15:40, Gugui wrote:
>
>> Olá pessoal, me deparei com 1 select filtrando campo Estoque <> 0
>> e ele listou o q estava com 0,000000 !
>>
>> para manipular o estoque do produto é usado somente soma e subtração,
>> nada de divisão
>> para ter resto além das 6 casas q me é mostrado no Flamerobin !
>> verifiquei a soma de todas as entradas e todas as saidas, o valor da 0 !
>>
>> o campo Estoque é double precision e o select filtra corretamente se eu
>> converto o Estoque
>> para numeric(12,2)!
>>
>> o q pode estar ocorrendo ?
>>
>> uso Debian 7
>> firebird2.5-superclassic 2.5.2~svn+54698.ds4-3              amd64
>>
>> ______________________________**________________
>> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>> .
>>
>>
>
> ______________________________**________________
> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



Mais detalhes sobre a lista de discussão lista