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