GARANTIR DESCONTO

Fórum Display Format - #,,0.00 - Solução #282761

23/05/2005

0

Galera, navegando pelos fóruns da vida achei o seguinte post:

Para quem acompanhou o meu problema, trago aqui a solução utilizada: Como não consegui nenhuma resposta satisfatória ao problema, eu resolvi mudar o tipo do campo, usei o Double Precision, que correspondeu corretamente (com duas casas decimais após editar o display format do field). Eu estava quase na solução para o tipo NUMERIC(9,2) ... acho que tinha que setar ´precision´ e ´scale´ , pois mesmo colocando NUMERIC(9,2) no IDBOCOnsole estava mostrando precision = 0 e scale = 0 , mas como não consegui descobrir outra maneira de setar precision e scale eu mudei para o double precision e funcionou perfeitamente. Fica a dica para quem se esbarrar no mesmo problema e desde já o pedido para uma provavel solução com o tipo numeric abs, Franco Andrey


Achei este post na ActiveDelphi e acho que é de interesse de todos nós.

Valeu Franco, grande abraço,
Jair


Jotadeefe

Jotadeefe

Responder

Posts

23/05/2005

Gigatel

Tive um problema similar e foi resolvido aki no fórum..era o seguinte, tenho um programa que gera parcelas ( notas promissórias ) em partes iguais, com valores pequenos funciona perfeitamente, até que tive que fazer umas parcelas acima de 1.000,00 aí é que apareu o problema por algum motivo integer ou float´s não fezem cálculos com o Ponto, dava um bug danado, a solução então seria uma formatação que retirasse este ponto só aqui no fórum foram vários tópicos com os títulos diferentes más com a mesma finalidade, muita gente deu umas idéias, um deles até mudou minha função quase toda, até que deu meio certo ( hehehe ) só que começou a gerar parcelas com valores errados, aí voltei a estaka Zero...aí apareceu um membro aki do fórum com uma função bem simples e resolvel o problema...a função é simples

Var A:Real; Begin Edit1.text := floattostrf(A,ffFixed,10,2);



Agora uma formatação com o danado do ponto.


Var A: real; Edit1.text:= formatfloat(´R$ ,,,0.00´,A);


São coisas que acontecem....Espero ter ajudado um pouco neste tópico pois apanhei muito disto....

T+

Vlw.....


Responder

Gostei + 0

23/05/2005

Jotadeefe

Olá Gigatel,

Interessante sua função, mas acho que no meu caso ela não serve, pois meu problema era o seguinte: quando estava incluindo um novo registro, utilizava um MaskEdit padrão do Delphi, o campo valor ficava configurado corretamente com a máscara ,,0.00. No banco de dados (FB) também ficava armazenado certo. O problema aparecia quando eu fazia um select e retornava os dados num dbgrid (DataSource + ClientDataSet + DataSetProvider + SQLDataSet + SqlConnection). Neste dbgrid, o campo valor aparecia da seguinte maneira:
0,05 = 0,05; 0,50 = 0,5; 0,00 = 0, e assim por diante
Tentei de todas as maneiras que já tinha visto neste fórum e tantos outros e nenhum tinha dado resultado. Foi então que encontrei este post aí de cima, que resolveu meu problema, pelo menos na forma visual do campo.

[color=blue:fd3049efbd]Agora eu pergundo: será que terei problemas futuros usando campos Double Precision, como por exemplo: em divisões, multiplicações, cálculos com porcentagem? Será que haverão erros de arrendondamentos?[/color:fd3049efbd]

Obrigado pela sua dica, que quem sabe me será útil um dia.
Valeu,
Jair



Responder

Gostei + 0

24/05/2005

Marco Salles

Galera, navegando pelos fóruns da vida achei o seguinte post:


Amigo , este post , não me é estranho....

Poderia fornecer o Link , para a gente acompanhar melhor do que se trata :lol: :lol: :lol:


Responder

Gostei + 0

24/05/2005

Vinicius2k

Colega jotadeefe,

Trata-se do Delphi 2005?
Se sim, é um bug do Delphi, talvez corrigido por um dos Update Packs (não posso precisar, pois não trabalho com o Delphi 2005). Existe uma solução proposta pelo colega Bon Jovi, [url=http://forum.clubedelphi.net/viewtopic.php?p=200554200554]aqui[/url].

E sim, vc pode ter problemas com cálculos utilizando DoublePrecision. A troca pelo DoublePrecision soluciona o problema pois o TField deixa de ser TFMTBCDField e passa a ser TFloatField e, como de costume, as implementações de TBcd são ´problemáticas´.

T+


Responder

Gostei + 0

24/05/2005

Jotadeefe

Para Marcos Salles:

o link é [url]http://www.activedelphi.com.br/modules.php?op=modload&name=XForum&file=viewthread&tid=6775[/url]

Para Vinicius2k:
trabalho com Delphi2005, FB 1.5, Driver UIB, SQLConnection, SQLDataSet, DataSetProvider, ClientDataSet, DataSource. Insiro/Altero/Excluo registros com StoredProcedure e consultas no CommandText dos componentes SQLDataSet ou ClientDataSet.

Abraços,
Jair


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar