Formatar Valor - ClientDataSet e Oracle
Boa tarde Pessoal,
o ClientDataSet não esta aceitando a formatação que eu estou colocando para formatar o Valor que estou buscando.
No banco de Dados o Valor esta desta forma : 3066,36
E quando eu trago os valores para minha Dbgrid sem formatação, ela me aparece desta forma: 306636
quando eu coloco a formação na Coluna la no Meu ClientDataSet
esta formatando de uma forma estranha, minha formatação é:
#,0.00 so que quando eu formato desta forma na mina aplicação (Dbgrid) aparece desta forma: 306.636,00.
ou seja, esta formatando de uma forma errada, eu ja formatei este campo de varias formas: ,0, ,, .... etcc....
e nenhuma destas formas esta chegando nem perto do valor real, eu nao consegui formatar de uma forma que fique somente a virgula e dois campos (ex: ,36).
Alguem saberia me dizer se é alguma configuração na minha maquina ou no Dbgrid ou no meu ClientDataSet, ja pesquisei em varios lugares da net e a unica solução que eu vejo o pessoal falando que é pra colocar esta formatação ,0.00, mas desta forma nao esta dando certo.
Obs. estou utilizando o Delphi 2007 - Oracle 10g com SQLQUERY, DATASetProvider, ClientDataSet, DataSource e Dbgrid.
Valeu pela boa colaboração de Voces.
o ClientDataSet não esta aceitando a formatação que eu estou colocando para formatar o Valor que estou buscando.
No banco de Dados o Valor esta desta forma : 3066,36
E quando eu trago os valores para minha Dbgrid sem formatação, ela me aparece desta forma: 306636
quando eu coloco a formação na Coluna la no Meu ClientDataSet
esta formatando de uma forma estranha, minha formatação é:
#,0.00 so que quando eu formato desta forma na mina aplicação (Dbgrid) aparece desta forma: 306.636,00.
ou seja, esta formatando de uma forma errada, eu ja formatei este campo de varias formas: ,0, ,, .... etcc....
e nenhuma destas formas esta chegando nem perto do valor real, eu nao consegui formatar de uma forma que fique somente a virgula e dois campos (ex: ,36).
Alguem saberia me dizer se é alguma configuração na minha maquina ou no Dbgrid ou no meu ClientDataSet, ja pesquisei em varios lugares da net e a unica solução que eu vejo o pessoal falando que é pra colocar esta formatação ,0.00, mas desta forma nao esta dando certo.
Obs. estou utilizando o Delphi 2007 - Oracle 10g com SQLQUERY, DATASetProvider, ClientDataSet, DataSource e Dbgrid.
Valeu pela boa colaboração de Voces.
Marlonnardi
Curtidas 0
Respostas
Charlles
11/02/2009
Não sei como vc fez no banco nem que banco usa mas experimente nas propriedades do valor abilitar ´currency´ para true
GOSTEI 0
Marlonnardi
11/02/2009
Valeu charles pela ajuda,
a unica coisa que muda quando eu coloco a opção de currency é o R$, na frente do valor, mais nada.
Ninguem aqui do forum usa banco de dados oracle com clientdataset e que seu banco de dados possua campo com VALOR, no formato em real?
se alguem usa de alguma dica do que pode estar acontecendo com minha aplicação.
Att, Marlon Nardi
a unica coisa que muda quando eu coloco a opção de currency é o R$, na frente do valor, mais nada.
Ninguem aqui do forum usa banco de dados oracle com clientdataset e que seu banco de dados possua campo com VALOR, no formato em real?
se alguem usa de alguma dica do que pode estar acontecendo com minha aplicação.
Att, Marlon Nardi
GOSTEI 0
Woinch
11/02/2009
Você pode tentar utilizar a propriedade DisplayFormat do TClientDataSet.
Espero ter ajudado...
Espero ter ajudado...
GOSTEI 0
Marlonnardi
11/02/2009
Valeu Woinch
Tanto no DislpayFormat como no EditFormat estou colocando a formatação.
Tanto no DislpayFormat como no EditFormat estou colocando a formatação.
GOSTEI 0
Charlles
11/02/2009
Seguinte vamos por parte como esta no oracle este campo?
se nao for float nao funciona vc tem que primeiro designar ao banco os campos
tipo integer 99999999 float 999999,99 na opção float vc vai ter a posibilidade de configurar quantas casas decimais vc usa com certeza ele vai trazer para o ClientDataSet esta configuração e vc nao precisa ficar formatando o mesmo em forms formatfloat veja se pode ser isto eu uso o
MySQL nao acredito que seja diferente de Oracle
se nao for float nao funciona vc tem que primeiro designar ao banco os campos
tipo integer 99999999 float 999999,99 na opção float vc vai ter a posibilidade de configurar quantas casas decimais vc usa com certeza ele vai trazer para o ClientDataSet esta configuração e vc nao precisa ficar formatando o mesmo em forms formatfloat veja se pode ser isto eu uso o
MySQL nao acredito que seja diferente de Oracle
GOSTEI 0
Marlonnardi
11/02/2009
Realmente no meu no Campo Valor do meu ClientDataSet nao estava como float.
Alterei para FLOAT, mas continua da mesma forma.
no Banco de Dados o Valor esta: 3066,36 (VAL_PAGO_AQUIS NUMBER(15,2) not null,)
mas na minha aplicação aparece 306636, e se eu marco a opçao de currency para true ele fica: R$ 306.636,00
Alterei para FLOAT, mas continua da mesma forma.
no Banco de Dados o Valor esta: 3066,36 (VAL_PAGO_AQUIS NUMBER(15,2) not null,)
mas na minha aplicação aparece 306636, e se eu marco a opçao de currency para true ele fica: R$ 306.636,00
GOSTEI 0