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

Sergio Nascimento sergiojampapb em gmail.com
Segunda Novembro 15 17:39:37 -03 2021


No meu IBExpert deu

VLRORIGINAL VLRCONVERTIDO
1485.45            1485,4500000000003

Em seg., 15 de nov. de 2021 às 09:44, Carlos H. Cantu via lista <
lista em firebase.com.br> escreveu:

> A atualização do IBExpert lançada ontem resolveu o problema.
>
> []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
>
> G> SET SQL DIALECT 3;
> G> Este é o único dialeto que uso.
> G> Será que o processo de conversão no IBExpert pode vir a usar outro
> dialeto
> G> diferente ?
> G> Estes são os resultados usando o isql (arquivo anexo)
>
> G> Em ter., 9 de nov. de 2021 às 16:07, Carlos H. Cantu via lista <
> G> 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
> >>
>
>
> ______________________________________________
> 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
>


-- 
Atenciosamente,

Sérgio Ricardo


Mais detalhes sobre a lista de discussão lista