[Delphi] Formatar valores float (máscara)
boa tarde a todos!
Como eu posso formatar um valor FLOAT no Delphi?
Por exemplo, de:
para:
?
muito obrigado!
Como eu posso formatar um valor FLOAT no Delphi?
Por exemplo, de:
0.9843783
para:
0.98
?
muito obrigado!
Gladstone Matos
Curtidas 0
Melhor post
Wesley Yamazack
08/05/2017
Opa Gladstone, tudo bem?
Existe uma função em delphi chamada FormatFloat, localizada na unit SysUtils. Seu objetivo é formatar valores de ponto flutuante.
Existem algumas variações para ela, vou citar rapidamente para você entender:
Veja um exemplo simples de como implementa-la:
O macete está na linha
O seu resultado será:
Qualquer coisa é só falar.
Grande abraço
Existe uma função em delphi chamada FormatFloat, localizada na unit SysUtils. Seu objetivo é formatar valores de ponto flutuante.
Existem algumas variações para ela, vou citar rapidamente para você entender:
Edit1.Text := formatfloat('#####', var_real); Edit1.Text := formatfloat('00000', var_real); Edit1.Text := formatfloat('0' , var_real); Edit1.Text := formatfloat('#,##0', var_real); Edit1.Text := ormatfloat(',0' , var_real); Edit1.Text := formatfloat('R$ #,##0', var_real);
Veja um exemplo simples de como implementa-la:
procedure TForm1.Button1Click(Sender: TObject); var r: real; begin r:= 0.9843783; Edit1.Text := formatfloat('0.##',r); end;
O macete está na linha
Edit1.Text := formatfloat('0.##',r);
O seu resultado será:
0.98
Qualquer coisa é só falar.
Grande abraço
GOSTEI 2
Mais Respostas
Gladstone Matos
08/05/2017
muito show obrigado Wesley!
GOSTEI 0
Raimundo Pereira
08/05/2017
Trunc?
GOSTEI 1
Wanderson Cardoso
08/05/2017
situação (exemplo):
> BD firebird 2.5.9
> Tabela: Item_Venda
> No Delphi: --> Sidney 10.4 (free)
Tabela: Item_Venda:
===================
- id_venda integer not null
- id_produto integer not null
- qtd_unit integer -> unidade (cada)
- preço_unit numeric(9,2) { fdquery.qtd_preco_unit.DisplayFormat: ###,##0.00 }
- qtd_pesokg numeric(5,3) -> peso (quilograma) { fdquery.qtd_pesokg.DisplayFormat: 00.000 }
- preço_pesokg numeric(9,2) { fdquery.qtd_preco_pesokg.DisplayFormat: ###,##0.00 }
- valor_total numeric(9,2) -> valor total item { fdquery.valor_total.DisplayFormat: ###,##0.00 }
Onde, o valor_total recebe multiplicação de ( qtd_unit x preco_unit ) ou ( qtd_pesokg x preco_pesokg ).
Problema:
- Qandoo a entrada for de um produto em quilograma, o valor_total receberia calculo de ( qtd_pesokg x preco_pesokg ).
Exemplo:
ID ID
VENDA PRODUTO DESCRICAO QTDE PR_UNIT. PESO_KG PR_KG VR_TOTAL
----------------------------------------------------------------------------------------
10001 1001 oleo de soja 900ml 01 R$ 7,00 null null R$ 7,00
10001 1003 batata inglesa 01 null 01,242 R$ 5,98 R$ 7,42 (real = 7,42716)
Duvida:
- como fazer arrendondamento de (real = 7,42716) para 7,43 por exemplo?
Desculpa pelo exemplo feito na pressa, mas gostaria da opinião da galera dev.
Muito obrigado!
GOSTEI 1
Gladstone Matos
08/05/2017
ola Wanderson bom dia
Q tal utilizar FormatFloat('0.00',valor)
isso resolve?
Q tal utilizar FormatFloat('0.00',valor)
isso resolve?
GOSTEI 0