[firebase-br] FORMATAR VALORES R$
marcelo luiz stefaniak - teflamar
marcelo em teflamar.com.br
Ter Jul 25 11:20:07 -03 2006
bom dia amigo,
segue a sp para formatar em r$, e ainda arredonda... (o código pode ser
enxugado ainda, mas não tive tempo).
veja abaixo, como usá-la:
SELECT fatura1.cod,fatura1.data,
(select r_real from sp_real(fatura1.liquido)) valor_liquido,
(select r_real from sp_real(fatura1.total)) valor_bruto,
fatura1.cliente
FROM fatura1
/* marcelo luiz stefaniak - teflamar processamento de dados ltda */
CREATE PROCEDURE SP_REAL (
L_VALOR FLOAT)
RETURNS (
R_INTEIRO FLOAT,
R_DECIMAL FLOAT,
R_REAL VARCHAR(15))
AS
declare variable wint1 integer;
declare variable wint2 integer;
declare variable wx smallint;
declare variable w3 smallint;
declare variable wy smallint;
declare variable wletra char(1);
declare variable wtexto varchar(20);
declare variable wtexto1 varchar(20);
declare variable wtexto2 varchar(20);
begin
r_decimal=:L_VALOR - CAST(L_VALOR AS NUMERIC(11,0));
if (r_decimal < 0 ) then r_decimal=:L_VALOR - CAST(L_VALOR -1 AS INTEGER);
r_inteiro=L_VALOR - r_decimal;
r_decimal=r_decimal * 100;
wint1=cast(r_inteiro as integer);
wint2=cast(r_decimal as integer);
wtexto1=CAST(wint1 AS VARCHAR(10))||'.';
wx=0;
wy=0;
wtexto='';
while (wx<>13) do
begin
wletra=substring(wtexto1 from 1 for 1);
if (wletra<>'.' and wletra<>'') then
begin
wtexto=wletra||wtexto;
wy=wy+1;
end
wtexto1=substring(wtexto1 from 2 for 13);
wx=wx+1;
end
/* wy=número de letras */
wtexto2='';
wx=0;w3=0;
while (wx<>:wy) do
begin
wx=wx+1;
wtexto2=substring(wtexto from 1 for 1)||wtexto2;
wtexto=substring(wtexto from 2 for 13);
w3=w3+1;
if (w3=3 and wtexto<>'') then
begin
wtexto2='.'||wtexto2;
w3=0;
end
end
r_inteiro=wint1;
r_decimal=wint2;
r_real=substring(wtexto2||','||substring(100 + wint2 from 2 for 2) from 1
for 15);
suspend;
end
/* marcelo luiz stefaniak - teflamar processamento de dados ltda */
----- Original Message -----
From: "Rubem Nascimento da Rocha" <djpardalrocha em hotmail.com>
To: <lista em firebase.com.br>
Sent: Tuesday, July 25, 2006 10:50 AM
Subject: Re: [firebase-br] FORMATAR VALORES R$
Depois de abrir o dataset, e antes de executar o relatório, defina a máscara
assim:
TNumericField(<SeuDataSet>.FieldByName(<'nome_campo_com_máscara'>)).DisplayFormat
:= '#,##0.00';
Sds.
>From: "Adalberto de Sousa Monteiro" <adalberto.sm em bol.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "FireBase" <lista em firebase.com.br>
>Subject: Re: [firebase-br] FORMATAR VALORES R$
>Date: Tue, 25 Jul 2006 10:42:40 -0300
>
>Cara não tenho como utilizar esse tipo de rotina pq estou criando a query
>dinamicamente no programa e ja vinculo essa query ao rave ....
>Não tenho como criar o campo e dizer qual o displayformat ....
>
>Vc saberia como faço para parametrizar isso .. dinammicamente ?
>
>Adalberto.
>
>----- Original Message -----
>From: "Paulo Sérgo Feix" <paulinhofeix em gmail.com>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Monday, July 24, 2006 8:07 PM
>Subject: Re: [firebase-br] FORMATAR VALORES R$
>
>
>Bem que eu saiba se Otimiza fora esta formatação
>no Inspector, no DisplayFormat #,##0.00
>
>
>
>
>Em 24/07/06, Adalberto de Sousa Monteiro<adalberto.sm em bol.com.br> escreveu:
> > Boa noite a todo o grupo,
> > Algúém poderia me informar como faço para formatar um valor com o
>seguinte
> > formato 999.999,00 dentro de um comando select ?
> >
> > Valeu
> > Adalberto
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para editar sua configuração na lista, use o endereço
> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>--
>Paulinho...
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista