Fórum Colocar 2 casas decimais após a virgula com SQL #37790
05/08/2003
0
Qando faço uma consulta com sql as colunas que são do tipo ´dinheiro´ ficam com varios numeros após a virgula, ou com numeros muito extenso e quando o valor é inteiro não coloca ´,00´.
Como faço para que coloque automaticamente duas casas decimais após a virgula. Ex.: 10,00 | 10,33 | 11,11
Espero que alguem saiba, pois tá dificil obter a resposta.
Marbravo
Marbravo
Curtir tópico
+ 0Posts
06/08/2003
Afarias
T+
Gostei + 0
10/08/2003
Marbravo
Tenho apenas uma query que por ela chamaas tabelas e executa as consultas.
Talvez a solução que vc me fornececeu serviria se a tabela e os campos que eu fosse consultar já estivesse no tField.
Espero que nós tenhamos nos entendido agora.
se tiver a solução por favor responda.
Obrigado
marbravo
Gostei + 0
11/08/2003
Afarias
|situação do problema.
Ou ambos.
Deixa vê se me faço claro:
NÃO É POSSÍVEL FORMATAR UM VALOR NO SQL (A NÃO SER PELO USO DE UMA UDF Q CONVERTA PARA VARCHAR FORMATANDO O VALOR)
OK??
Qualquer formatação deve se dar no CLIENTE (usando o TField por ex).
Espero q tenhamos nos entendido agora,
T+
Gostei + 0
11/08/2003
Allen74
Os valores da sua consulta serão apresentados em algum relatório? Em um formulário, etc? Seja mais específico e acrescente mais detalhes para que a resposta correta possa chegar mais rápido até você.
Suponhando que você utilize um componente descendente de TQuery para fazer a consulta em seu banco InterBase, você pode utilizar as funções de manipulação e conversão de strings do Delphi, por exemplo para exibir as informações conforme desejado.
Um trecho de código para exemplo, sem configurar nenhum TField:
Query.SQL.Text := ´select nome,preco from produtos where codigo = 5´; Query.Active := True; Edit1.Text := FormatFloat (´#,0.00´, Query.FieldByName(´preco´).AsFloat);
No exemplo acima, o Edit1 será preenchido com o preço do produto consultado no formato monetário padrão, que para um preço fictício de um mil e quinhentos reias e trinta sentavos seria exibido como: 1.500,35
Para maiores informações sobre FormatFloat, utilize o Help do Delphi.
Mais um detalhe importante, mesmo você não tendo definido em design time os campos TField para sua consulta, você pode setar as propriedades de formatação em runtime. No código exemplo acima, bastaria escrever:
Query1.FieldByName(´preco´).DisplayFormat := ´#,0.00´; Edit1.Text := Query1.FieldByName(´preco´).AsString;
o resultado seria o mesmo.[/code]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)