Fórum DisplayFormat em ClientDataSet #361235
17/07/2008
0
Coloquei assim:
ClientaDataSet1Campo.DisplayFormat := ´#,,0´; e tentei também ´,,´, mas ele só mostra nenhuma casa decimal quando o valor decimal for zero. Por exemplo:
- Se valor = 10,00, mostra 10; mas
- Se valor = 10,33, mostra 10,33.
Alguém pode me ajudar?
Obrigado.
Armindo
Curtir tópico
+ 0Posts
17/07/2008
Paulo
#,. ou ,.00
Use nas casas decimais ponto e não vírgula.
Gostei + 0
17/07/2008
Armindo
Acho que você não entendeu.
Se eu usar:
- ,., o resultado mostrado será 10,33
- ,.00, idem
Eu preciso que, mesmo que o valor do campo seja 10,3333, ele mostre 10 ou seja, sem nenhuma casa decimal.
Obrigado.
Gostei + 0
17/07/2008
Joaoshi
Espero ter ajudado.
Gostei + 0
17/07/2008
Carlosrm
na propriedade DisplayFormat do ClientDataset, [b:b178f6cbcc]não[/b:b178f6cbcc] coloque o ponto decimal e [b:b178f6cbcc]nem[/b:b178f6cbcc] as casas decimais... Ficaria assim:
#,0
Como o Paulo já tinha alertado, o Delphi faz a formatação de números com casas decimais usando o ponto (.) como separador das casas decimais.
Mas como vc não quer exibir nenhuma casa decimal, uma solução é não colocar o ponto (separador de decimais). Não existindo ponto decimal, nenhuma casa decimal será exibida (A propriedade DisplayFormat impedirá a exibição de eventuais casas decimais).
Espero ter ajudado.
carlosrm
Gostei + 0
18/07/2008
Armindo
Amigo, agradeço a resposta, mas acho que você não o meu tópico (post inicial).
Vou repetir o que eu preciso: que o um dbEdit ligado a um determinado campo de um clientDataSet, cujo valor (do campo) seja 10,33, mostre somente 10 (sem nenhuma casa decimal).
Agora vou repetir o que já tentei e [b:24660a9bd7]NÃO[/b:24660a9bd7] dá certo:
- #,0
- ,0
- ,
Gostei + 0
18/07/2008
Marco Salles
hummmmm
Uma opção é usar o evento [b:bd2b641cf2]OnGetText do Campo[/b:bd2b641cf2]
procedure TSeuDataModulo.SeuClientDataSetSeuCampoGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin if sender.AsString <> ´´ Then text:=FloatToStr(Trunc(sender.AsFloat)) end;
mas atente-se ;;;
Voce tem a Opção de Habiltar e Desabilitar este Evento ...Assim para
Alguns formulários (quando for o caso ) voce o Habilita, e se necessário
volte a apresentação Normal do campo
Gostei + 0
18/07/2008
Carlosrm
O seu post inicial não fala em DBEdit
... ClientaDataSet1Campo.DisplayFormat := ´#,,0´;...
e eu acabei testando a exibição numa DBGrid. Funcionou. Por isso enviei uma sugestão (existem várias possibilidades)... Como você retornou dizendo que já tinha tentado e não funcionava, eu testei novamente (na DBGrid) e funcionou. Testei também numa DBEdit e também funcionou (ou seja, não mostrou nem a vírgula e nem as casas decimais, como se você tivesse aplicado a função Trunc. Porém, pode ser que não estejamos falando da mesma versão: testei usando o Delphi 7 com Firebird 1.5...
Se foi por isso que encontramos resultados diferentes, peço que você me desculpe. Realmente eu fui obtuso em considerar apenas a versão que eu uso, e não informei nada. Outros colegas postaram outras soluções. Faço votos para que encontre uma solução satisfatória. Abraço.
carlosrm
Gostei + 0
18/07/2008
Marco Salles
engraçado , eu jurava que alem de truncar ela ´[u:a30432f596][b:a30432f596]Round´[/b:a30432f596][/u:a30432f596] 0 valor
assim 12,4 da 12
assim 12,6 da 13
Gostei + 0
18/07/2008
Carlosrm
Todas as vezes que eu usei essa máscara com o DisplayFormat, coincidente (e burramente) só usei decimais inferiores a 0,5... :oops:. Peço novamente desculpas, envergonhado, e aprendi mais uma...abraços.
carlosrm
Gostei + 0
18/07/2008
Marco Salles
Desculpem, MarcoSalles e Armindo... Todas as vezes que eu usei essa máscara com o DisplayFormat, coincidente (e burramente) só usei decimais inferiores a 0,5... . Peço novamente desculpas, envergonhado, e aprendi mais uma...abraços. carlosrm
[b:6610db9175]carlosrm[/b:6610db9175] voce é um cara amirável prestativo humilde etc.....
<esta meio sumido do forum é verdade> ...
quem lhe deve agradecer a você somos nós , sempre acompanho os
seus tópicos e aprendo muito com eles .....
Gostei + 0
18/07/2008
Carlosrm
Me espelho em você, amigo... Obrigado pela força... Abraço.
carlosrm
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)