Colocar 2 casas decimais após a virgula com SQL

Firebird

05/08/2003

Estou com um problema.
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

Marbravo

Curtidas 0

Respostas

Afarias

Afarias

05/08/2003

A formatação dos dados deve ser feita no Cliente. Ex: se vc usa Delphi, forneça a formatação do valor na propriedade DisplayFormat do TField.


T+


GOSTEI 0
Marbravo

Marbravo

05/08/2003

Ou eu não intendi como fazer ou vc(aFarias) ñ intendeu o como é a situação do problema.

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
Afarias

Afarias

05/08/2003

|Ou eu não intendi como fazer ou vc(aFarias) ñ intendeu o como é a
|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
Allen74

Allen74

05/08/2003

marbravo,

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
POSTAR