Problemas com centavos no Delphi 6
Olá pessoal, estou com um problema no Delphi 6 :D...
Se eu fizer o acesso usando o BDE, ele mostra os centavos direito, mas se eu fizer o acesso de forma direta, ou seja, sem usar o BDE, não funciona, exibe os centavos de maneira errada... ex: 209,35 com o BDE, vira 20935,00 sem BDE... Não estou colocando nenhuma máscara. Detalhe, se eu abrir o SQL Explorer, ele mostra direito, mas no sistema os valores só aparecem malucos, achei que pudesse ser alguma configuração no windows, mudei mas de nada adiantou. Um detalhe, se o valor for inteiro, tipo 209,00 aparece normal, mas com centavos nem pensar...
Alguma sugestão...
Se eu fizer o acesso usando o BDE, ele mostra os centavos direito, mas se eu fizer o acesso de forma direta, ou seja, sem usar o BDE, não funciona, exibe os centavos de maneira errada... ex: 209,35 com o BDE, vira 20935,00 sem BDE... Não estou colocando nenhuma máscara. Detalhe, se eu abrir o SQL Explorer, ele mostra direito, mas no sistema os valores só aparecem malucos, achei que pudesse ser alguma configuração no windows, mudei mas de nada adiantou. Um detalhe, se o valor for inteiro, tipo 209,00 aparece normal, mas com centavos nem pensar...
Alguma sugestão...
Wagnerpb
Curtidas 0
Respostas
Marconi
17/03/2004
Se 20,935 mudasse para 20935 eu diria que esta havendo uma discordância entre a utilização da vírgula como ponto decimal (europeu - e também no Brasil) com a utilização dela para separação de milhares (americano). Mas no seu exemplo não parece ser o caso.
Veja se não está acontecendo em micros diferentes. Isto poderia ser a configuração Internacional do Windows diferente para cada um deles.
Marconi
Veja se não está acontecendo em micros diferentes. Isto poderia ser a configuração Internacional do Windows diferente para cada um deles.
Marconi
GOSTEI 0
Wagnerpb
17/03/2004
Pois é, achei que fosse isso tb, só que não, tanto que se eu fizer uso acessando via BDE funciona normal, mostrando os centavos no lugar certo, mas quando acesso usando SQLClientDataSet mostra errado, tô aperriado pq, preciso mostrar a 1 versão pro cliente, mas desse jeito... :cry:
GOSTEI 0
Silvio Ribeiro
17/03/2004
Ola!
Nao cheguei ainda a trabalhar com o SQLClientDataSet. Mas já tentou adicionar os campos do SQL (com clique duplo no SQLClientDataSet) e alterar a propriedade DisplayFormat do campo problematico? Tipo, ai vc coloca como mascara o valor:
[b:93bdff17c4],0.00[/b:93bdff17c4]
As vezes faço isso com queries e tables qd quero mostrar valores monetarios em DBgrid e da o resultado desejado. Qd quero exibir num label, por exemplo, uso a função [b:93bdff17c4]formatfloat[/b:93bdff17c4].
faz um teste. se mesmo assim ñ funcionar tenta com uma query ou table e ve como ta saindo o resultado.
Espero ter ajudado...
Abraços
Nao cheguei ainda a trabalhar com o SQLClientDataSet. Mas já tentou adicionar os campos do SQL (com clique duplo no SQLClientDataSet) e alterar a propriedade DisplayFormat do campo problematico? Tipo, ai vc coloca como mascara o valor:
[b:93bdff17c4],0.00[/b:93bdff17c4]
As vezes faço isso com queries e tables qd quero mostrar valores monetarios em DBgrid e da o resultado desejado. Qd quero exibir num label, por exemplo, uso a função [b:93bdff17c4]formatfloat[/b:93bdff17c4].
faz um teste. se mesmo assim ñ funcionar tenta com uma query ou table e ve como ta saindo o resultado.
Espero ter ajudado...
Abraços
GOSTEI 0
Wagnerpb
17/03/2004
Pessoal, encontrei a solução para o meu problema... no acesso via BDE já vem determinado os separadores de centavos e de milhares, o problema é que no acesso com o DBEXPRESS, ao menos no caso do Oracle, eu tive que alterar o parametro NLS_NUMERIC_CHARACTERS para ´.,´, depois de feito isso o problema não aconteceu mais... :D
GOSTEI 0