Formatação com UDF
Pessoal olá,
Alguém sabe como posso fazer uma UDF para formatar um valor numérico da seguinte forma:
Preciso utilizar dentro de sentença SELECT.
Ex: Se o valor é 12430,87, eu queria que me retornasse uma string dessa forma '12.430,87'.
Agradeço desde já
Alguém sabe como posso fazer uma UDF para formatar um valor numérico da seguinte forma:
Preciso utilizar dentro de sentença SELECT.
Ex: Se o valor é 12430,87, eu queria que me retornasse uma string dessa forma '12.430,87'.
Agradeço desde já
Korporasi
Curtidas 0
Respostas
Wilson Junior
30/03/2010
De uma olhada neste link http://www.firebirdsql.org/index.php?op=useful&id=geldenhuis
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Korporasi
30/03/2010
Wilson,
Primeiramente muito obrigado pela sua colaboração porém não estou obtento sucesso na função que estou tentando desolver, segue o código anexo:
library Formatacoes;
uses
SysUtils,
Classes;
{$R *.RES}
function FuncFormataFloat(pdValor: Double; psMascara: PChar): PChar; export;
begin
Result := PChar(FormatFloat(PChar(psMascara), pdValor));
end;
exports
FuncFormataFloat;
begin
end.
Estou registrando da seguinte forma:
declare external function FuncFormataFloat
Double Precision,
Varchar(30)
returns
Varchar(30)
entry_point 'FuncFormataFloat'
module_name 'Formatacoes.dll';
Para testar estou dando o seguinte comando:
SELECT FUNCFORMATAFLOAT(2.3,'0.00') FROM RDB$DATABASE
Porém não me retorna nada.
O que estou fazendo de errado. Alguém pode m ajudar ???
Grato,
Primeiramente muito obrigado pela sua colaboração porém não estou obtento sucesso na função que estou tentando desolver, segue o código anexo:
library Formatacoes;
uses
SysUtils,
Classes;
{$R *.RES}
function FuncFormataFloat(pdValor: Double; psMascara: PChar): PChar; export;
begin
Result := PChar(FormatFloat(PChar(psMascara), pdValor));
end;
exports
FuncFormataFloat;
begin
end.
Estou registrando da seguinte forma:
declare external function FuncFormataFloat
Double Precision,
Varchar(30)
returns
Varchar(30)
entry_point 'FuncFormataFloat'
module_name 'Formatacoes.dll';
Para testar estou dando o seguinte comando:
SELECT FUNCFORMATAFLOAT(2.3,'0.00') FROM RDB$DATABASE
Porém não me retorna nada.
O que estou fazendo de errado. Alguém pode m ajudar ???
Grato,
GOSTEI 0
Korporasi
30/03/2010
Será que alguém pode me ajudar ????
GOSTEI 0
Wilson Junior
30/03/2010
No link que passei no post anterior, olhe a parte sobre Debugging e veja o que está sendo feito.
Qualquer coisa pot aí.
Espero ter colaborado.
Qualquer coisa pot aí.
Espero ter colaborado.
GOSTEI 0