Decimal no Edit

03/12/2003

0

OLá pessoal ....
Comecei a ´brincar´ com o Delphi + Interbase ... e estou bastante envolvida para aprender ....
Comecei fazendo um pequeno cadastro ....

A inclusao funcionou .... porém na consulta, atraves da query, jogo o valor dele num edit. Coloquei da seguinte forma:

EdtCalc.Text := floattostrf(QrySelCALC.value,ffFixed,5,2)

Só q ele esta trazendo o resultado como: 451,00.
Sendo q na realidade ele está cadastrado no Banco como 451,99 ... q olhei atraves do ISQL do Interbase.

Já alterei o Display Format e o Edit Format do campo da Query e nao funcionou.
Gostaria de uma colaboracao de voces para tentar resolver este problema.
Obrigada.

MartinhaM

[i:4b502590a1]Título em maíusculas editado comforme explicado nas regras de conduta[/i:4b502590a1]


Martinham

Martinham

Responder

Posts

03/12/2003

Afarias

se o valor é 451,999... e vc quer mostrar apenas com duas casas, é ´natural´ q o valor seja arredondado ficando 452,00 (bom, pelo menos é assim q a função FloatToStrF funciona!)



T+


Responder

04/12/2003

Luizfernando777

Tenta isso
Caption := FormatCurr(´R$ #.´, 451.99 );


Responder

04/12/2003

Luizfernando777

ou assim
para ficar com ,00 qdo for valor redondo
Caption := FormatCurr(´R$ #.00´, 451.00 );
R$ 451,00


Responder

04/12/2003

Martinham

Fiz um select no BD, modo interativo, e ele aparece como resultado:

CALC
linha 1 = 145,99
linha 2 = 165,15
linha 3 = 18,14

Só que quando jogo para um edit com o comando floattostr ou o floattostr ele simplesmente corta os decimas trazendo os numeros inteiros, seguido de zero. O que eu quero sao os valores q estao na coluna da tabela acima e não arredondamento ...

No aguardo.
Obrigada por enquanto ...

MartinhaM


Responder

04/12/2003

Luizfernando777

Neste exemplo você não vai usar o
FloatToStr e nem o FloatToStrF e [color=red:77df742440][b:77df742440]sim[/b:77df742440][/color:77df742440]
o [b:77df742440][color=blue:77df742440]FormatCurr[/color:77df742440][/b:77df742440] dessa maneira
ex:
Edit1.Text := FormatCurr(´R$ #,00´, DBCampo.Value);
onde
´R$ ,00´ é o formato que vai aparecer no Edit
DBCampo.Value é o Campo do seu Select no qual tem o valor
que você precisa


Responder

04/12/2003

Luizfernando777

desculpe o formato é assim: ´R$ #.00´


Responder

09/12/2003

Martinham

Me desculpe na demora em responder ...
Fiz uma viagem e estou retornando somente hoje ...

Neste exemplo você não vai usar o FloatToStr e nem o FloatToStrF e [color=red:e02a50e07f][b:e02a50e07f]sim[/b:e02a50e07f][/color:e02a50e07f] o [b:e02a50e07f][color=blue:e02a50e07f]FormatCurr[/color:e02a50e07f][/b:e02a50e07f] dessa maneira ex: Edit1.Text := FormatCurr(´R$ #,00´, DBCampo.Value); onde ´R$ ,00´ é o formato que vai aparecer no Edit DBCampo.Value é o Campo do seu Select no qual tem o valor que você precisa


Então, luiz fernando, fiz exatamente isto que vc me disse. e ´leia´ o que aconteceu ...
01. Faço a inclusao de um valor de 15,32
02. Confirmo e gravo no Interbase
03. Dou um Select no IBConsole e ele está gravado como 15,32
04. Passo o valor para o edit1.text (como voce citou) e ele aparece R$ 15

Oq estou fazendo de errado ??? Ou eu e que nao estou conseguindo entender .... acho q já estou meio q ´pirada´ :?
Tem alguma coisa no Delphi ou na configuracao do Interbase que nao esta legal ???


Responder

09/12/2003

Martinham

Alias ... o passo 4 aparece R$ 15,00 e nao e nao 15,32


Responder

09/12/2003

Dart

Ola martinham

Desculpe e que estou com o mesmo problema.
E o seguinte. Qual e o tipo do campo da tabela do BD?
Criei uma tabela com um campo do tipo decimal,( Valor decimal(5,2),)

incluo um valor R$ 15,20
e na consulta aparece assim R$15,00


Ah. Eu uso um componente que controla casa decimais e converte string para Currency. Se vc quizer posso de mandar.

Dart


Responder

09/12/2003

Luizfernando777

me manda seu e-mail que lhe mando um exemplo,
aí você pode tirar suas dúvidas.
luizfernando777@yahoo.com.br


Responder

10/12/2003

Martinham

Dart,
O campo no BD já criei como decimal e tb já alterei para numeric ...

Luiz Fernando,
Estou te mandando o meu e-mail.

Obrigada.
Martinham


Responder

10/12/2003

Sigelman

Se od dados já estão guardados corretamente, então vc só precisa buscá-los.
Edit1.Text:=StrToFloat(query1.FieldByName(´campo´).AsFloat);

ou usar o formatFloat.
Edit1.Text:=FormatFloat(´#,.0´,query1.FieldByName(´campo´).AsFloat);


Responder

10/12/2003

Dart

O problema acho que e na hora que grava.

Vc coloca um valor R$ 15,99.
E acho que grava assim 15,00.

Como resolver isso no interbase?


Dart


Responder

10/12/2003

Fred

Este é o formato: ,#0.00

edit1.text := formatcurr(´,0.00´,edit1.text);

ai voce pode ate colocar o R$


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar