RES: [firebase-br] Problema com campo Numeric com 6 casas decimais.
Jony
jonyridel em yahoo.com.br
Seg Ago 22 14:35:19 -03 2005
Você esta digitando o valor diretamente no Field através de um DBEdit por
exemplo ou calculando o valor em uma variável e depois atribuindo o valor da
mesma para o Field ?
Se a resposta for a segunda opção, utilize uma variável diferente de
Currency, pois a mesma só armazena até 4 casas decimais.
> Help do Delphi
> Type Range Significant digits Size in bytes
>
> Currency –922337203685477.5808.. 922337203685477.5807 19–20 8
>
>Currency is a fixed-point data type that minimizes rounding errors in
>monetary calculations. It is stored as a scaled 64-bit integer with the
>four least-significant digits implicitly representing decimal places. When
>mixed with other real types in assignments and expressions, Currency values
>are automatically divided or multiplied by 10000.
Espero ter ajudado,
----------------------------
Jony Ridel
Grupo Êxito - Salvador - BA
----------------------------
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Cristiano Testaí
Enviada em: segunda-feira, 22 de agosto de 2005 10:14
Para: lista em firebase.com.br
Assunto: [firebase-br] Problema com campo Numeric com 6 casas decimais.
Fiz inúmeras tentaivas para ter o conteudo de um campo do tipo
Numeric com 6 casas decimais e é gravado no banco de dados apenas
4 casas decimais onde é arredondado as 3 ultimas. Ex: 2,123456 é gravado no
banco
2,1235. No banco já testei com campo do tipo numeric(15,6) e decimal (15,6).
Na passagem da inclusao do registro para o servidor verifico antes da da
gravação no banco o datasetprovider repassa o valor atual do campo constando
o conteudo certo, ou seja, com as 6 casas decimais ao salvar fica confirmada
apenas 4 casas como no exemplo acima. O banco que utilizo é o firebird 1.5,
mas verifiquei que manualmente ao incluir o valor diretamente pelo IBExpert,
por exemplo, ele armazena o conteúdo certo.
No Help do delphi vi que campos com mais que 4 casas decimais
devem ser do tipo TFMTBCDField, e é este tipo de campo que é referenciado ao
adicioná-lo no ClientDataSet.
Cristiano
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.13/78 - Release Date: 19/8/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.13/78 - Release Date: 19/8/2005
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
Mais detalhes sobre a lista de discussão lista