Buscar

Converte uma string em um formato monetário com duas casas decimais.

Código

{Testei uma função parecida que vi por aqui, mas não deu muito certo. Seguinte: Em um relatório (no QuickReport por exemplo) pode-se usar uma QRExpr para se somar um determinado DBText. Porém encontrei um caso em que o somatório dava errado. Foi mais simples aplicar o valor da soma (em tempo de execução à uma variável float) e converter o resultado em uma string e formata-la. Só que no relatório se a soma desse por exemplo 10,40 seria exibido 10,4. Com a função abaixo resolvi este problema.} Function Converte( c: String ): String ; var x: Integer; t: Integer; J: Integer; p : string; begin t := Length( c ); j:=0; for x := 1 to t do begin if c[x] = ',' then begin p := copy (c,x+1,2); J := length(trim(P)); end; end; if J < 2 then c := c + '0'; Converte := c; end; Para chamar a função, no ponto do programa e usar em um relatório: FrmRelatorio.QRLabelTotal.Caption := Converte(floattostr(A+B)); {A e B eram as variáveis que guardavam as somas (de cada uma query) no meu programa.}

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 21/08/08
Por: André Borba
Visualizada: 4589 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009