tratamento de valores em moeda

Delphi

18/11/2006

boa tarde estou usando o bd firebird determinei que um campo vai receber o total de valores comprado mas o valor esta vindo muito extenso exemplo;
23.4345445654
gostaria que aparece se dessa forma R$23,43 mas nao consigo , uma observacao importante quando eu adiciono na query o fild e aponto como currency assim que eu clico no botao calcular aparece uma informacao dizendo que field nao existe e quando eu deleto os filds funciona normalmente mas ai que esta o x da questa nao consigo tratar valores como currency.
valeu gente se postar um exemplo ficarei muito grato valew mesmo


Ciotti

Ciotti

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

18/11/2006

tente formatar...

no evento OnGetText do seu DataField faça:
if not Sender.IsNull then
 text := FormatFloat(´#..0,00´,Sender.Value);
espero ter ajudado :wink:


GOSTEI 0
Ciotti

Ciotti

18/11/2006

boa noite , amigo fiz o teste mas nao obtive sucesso pois quando vou adicionar o field e coloco a instrucao que vc me passou ele fala que o filed nao existe sendo que ele esta la.
Obs: fiz o teste sem colocar o seu codigo e deu o mesmo erro , vem
uma informacao falando que o field nao existe, muito estranho mas se vc souber me informar por gentileza estarei no aguardo muito obrigado,.


GOSTEI 0
Mazzi

Mazzi

18/11/2006

Olá amigo, além de vc poder formatar como dito pelo amigo, vc pode usar um componente do tipo MaskEdit, e dê uma olhadinha dentro da Propriedade EDITMASK, como está sendo feita a formatãção, e use-a do melhor jeito q convier,.. faça os testes ali, para ver se vai dar certo.

Abraços++


GOSTEI 0
Paullsoftware

Paullsoftware

18/11/2006

boa noite , amigo fiz o teste mas nao obtive sucesso pois quando vou adicionar o field e coloco a instrucao que vc me passou ele fala que o filed nao existe sendo que ele esta la. Obs: fiz o teste sem colocar o seu codigo e deu o mesmo erro , vem uma informacao falando que o field nao existe, muito estranho mas se vc souber me informar por gentileza estarei no aguardo muito obrigado,.


Muto estranho, sempre usei essa forma pra formatar meus valores...

Clique duplo no meu ClientDataSet >> Selecionar o nome do Campo do Fields Editor >> Object Inspector, aba Events >> Evento OnGetText >> if
not Sender.IsNull then 
 text := FormatFloat(´#..0,00´,Sender.Value);

[color=red:673f3330fe]Atenção![/color:673f3330fe]
Delete todos os campos e adicione novamente compile sem o código depois coloque o codigo e teste, lembrando que não tem nada haver o fato do codigo ficar mostrando que o campo não existe, pois, em nenhum momento o código se refere ao campo.. :wink:


GOSTEI 0
Ciotti

Ciotti

18/11/2006

ola amigo realmente nao consegui muito estranho posso mandar um exemplio que fiz bem simples? fiz com accesses mas o erro e o mesmo me passa seu email por favor. valew forte abraco


GOSTEI 0
Ciotti

Ciotti

18/11/2006

ola amigo caso contrario vc pode mandar um exemplo para meu email em accesses mesmo. por gentileza

jeffe_helloween@hotmail.com



valew cara muito obrigado.


GOSTEI 0
Mazzi

Mazzi

18/11/2006

De acordo com [b]paullsoftware[/b], realmente deveria dar certo... pois bem, ... pode parecer meio esdruxulo falar isso, mas, não custa tentar, qdo se quer ajudar... tente ver se o tipo de dado que vc colocou do campo da tabela, é do tipo, Numeric ou Double Precision ou algum tipo q suporte isso, sei lá....

use um campo MaskEdit, para ver se está funcionando pelo menos isso, se num tiver.. analise de novo, remova os campos de dentro do seu Fields Editor e coloque novamente... isso atualiza alguma alteração que vc fez anteriormente no BD...

fora isso, o que a galera postou, ai.. é o caminho

abraços;;.;.


GOSTEI 0
POSTAR