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

Paulo Geloramo assisinformatica em gmail.com
Terça Novembro 9 17:47:04 -03 2021


Boa tarde Carlos,

O banco está no Dialeto 3 e 32 bits.

Fez testes no IBExpert Não retornou este valor
123456,1230000000210
?
Fez teste com 32 ou 64 bits?

--
Paulo Geloramo

Em ter., 9 de nov. de 2021 às 16:07, Carlos H. Cantu via lista
<lista em firebase.com.br> escreveu:
>
> Deve estar com dialeto 1, aí numeric (18,13) é armazenado internamente
> com double precision (que garante precisão de 15 dígitos) e não como bigint!
>
> No dialeto 3 não tem "sujeira".
>
> []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
>
> PGvl> Boa tarde,
>
> PGvl> Firebird 2.5
> PGvl> ===
> PGvl> SELECT '123456,123' ORIGINAL,
> PGvl> CAST('123456.123' AS NUMERIC(18,13)) CONVERTIDO
> PGvl> FROM RDB$DATABASE;
> PGvl> ===
> PGvl> ISQL
> PGvl> ORIGINAL    CONVERTIDO
> PGvl> ==========  =====================
> PGvl> 123456,123  123456.1230000000000
>
> PGvl> =================================
> PGvl> IBEXPERT
> PGvl> ORIGINAL    CONVERTIDO
> PGvl> 123456,123  123456,1230000000210
> PGvl> =================================
>
> PGvl> No IBExpert observamos o resíduo (0000000210),
> PGvl> fez o CAST usando Float.
>
> PGvl> =======
> PGvl> Float
> PGvl> https://www.h-schmidt.net/FloatConverter/IEEE754.html
> PGvl>     0,3=0,300000011920928955078125
> PGvl> 0,1+0,2=0,300000004470348358154296
> PGvl> 0,1+0,2=0,3 FALSE
> PGvl> =======
> PGvl> --
> PGvl> Paulo Geloramo
>
> PGvl> Em sex., 5 de nov. de 2021 às 21:17, GutembergAdv via lista
> PGvl> <lista em firebase.com.br> escreveu:
> >>
> >> /* Alguém sabe me dizer porque este cast gera dígitos significativos no
> >> final do número? */
> >> /* Neste caso foi o valor 3. Também preciso saber como evitar isso. É
> >> necessário ter exatidão no valor */
> >> /* Firebird 3 */
> >>
> >> select
> >>  '1485.45' VlrOriginal,
> >>  cast('1485.45' as numeric(18,13)) VlrConvertido
> >> from rdb$database
> >> ______________________________________________
> >> 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
>
> PGvl> ______________________________________________
> PGvl> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> PGvl> Para saber como gerenciar/excluir seu cadastro na lista, use:
> PGvl> http://www.firebase.com.br/fb/artigo.php?id=1107
> PGvl> Para consultar mensagens antigas:
> PGvl> http://www.firebase.com.br/pesquisa_lista.html
>
>
> ______________________________________________
> 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