[firebase-br] Conversão cast com alteração de valor

Carlos H. Cantu listas em warmboot.com.br
Segunda Novembro 15 09:37:49 -03 2021


Eu tinha reportado o problema pro pessoal do IBExpert e ontem me
falaram que será corrigido na próxima versão.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

G> Olá pessoal!
G> Estou postando esta msg apenas para informar que constatei hoje que a
G> importação que fiz, dos valores dos dados do arquivo txt para uma base FDB,
G> e que gerou este resíduo de valor, após um cast no IBExpert, somente mostra
G> o resíduo no grid do IBExpert. Abri a tabela destino da importação através
G> do ISQL e lá os valores estão como esperado e não mostram tais resíduos de
G> valores. Pareceu-me uma informação interessante de ser compartilhada.
G> Parece que o problema está localizado apenas na visualização dos dados.

G> Em qua., 10 de nov. de 2021 às 00:57, GutembergAdv <gutembergadv em gmail.com>
G> escreveu:

>> Valeu a todos. Muito proveitosas todas as respostas.
>>
>> Em ter., 9 de nov. de 2021 22:07, Carlos H. Cantu via lista <
>> lista em firebase.com.br> escreveu:
>>
>>> No dialeto 3, numeric e decimal são exatamente iguais, salvo quando
>>> p <= 4, onde aí o numeric é armazenado como smallint e o decimal como
>>> integer.
>>>
>>> O decfloat usa codificação decimal, enquanto o float/double usa
>>> binária, então no decfloat não existe o problema do armazenamento "por
>>> aproximação" que existe no float/double.
>>>
>>> []s
>>> Carlos H. Cantu
>>> eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php
>>> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>>>
>>> GS> Foi o que eu disse, inteiros dum lado de cada ponto, são como bigint
>>> de
>>> GS> cada lado.
>>> GS> Ele perguntou o porquê, me concentrei nisso.
>>> GS> No tempo áureos do Interbase 6.0 recém lançado como opensource me
>>> deparei
>>> GS> com o numeric(18,4) para simular o money do MSSQL e notei a perda,
>>> foi aí
>>> GS> então que me explicaram o DECIMAL, fiz a mudança e não tive mais
>>> perdas.
>>> GS> No FB4 incluiram um novo DECFLOAT análogo ao float com o mesmo
>>> propósito.
>>> GS> A menos que tenham mudado o NUMERIC desde então, em campo pude ver a
>>> perda
>>> GS> de precisão e o corrigi.
>>> GS> []´s
>>>
>>> GS> Em ter., 9 de nov. de 2021 às 08:06, Carlos H. Cantu via lista <
>>> GS> lista em firebase.com.br> escreveu:
>>>
>>> >> Numeric e decimal no dialeto 3 são tratados internamente como inteiros
>>> >> no Firebird, portanto, não se comportam como ponto flutuante. Nunca
>>> >> haverá perda de precisão no número armazenado x recuperado utilizando
>>> >> esses dois tipos com dialeto 3.
>>> >>
>>> >>
>>>
>>>
>>> ______________________________________________
>>> 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://www.firebase.com.br/pesquisa_lista.html
>>>
>>




Mais detalhes sobre a lista de discussão lista