Array
(
)

Valores monetarios

Fernando_cunha
   - 03 abr 2006

Olá.

Eu tenho um edit que chama EdtValor, que ele recebe o valor das taxas cobradas... no momento eu estou fazendo as validações da Seguinte maneira.


#Código



procedure TForm1.EdtValorKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [´0´..´9´,8])and(key <> DecimalSeparator) Then
key:=0;
end;


procedure TForm1.EdtValorExit(Sender: TObject);
begin
try
if EdtValor.Text <> ´´ then
EdtValor.Text:=FormatFloat(´.00´,strtofloat(EdtValor.Text));
except
on econverterror do
begin
showmessage(´numero invalido´);
EdtValor.SetFocus;
end;
end;
end;



até ai conforme o usuario digita os numeros sem colocar a virgula e sai ele coloca uma ´,´ e dois zeros depois.... só que eu queria que alem de ele colocar isso ele verifica se o cara digito 4 numeros ai ele colocaria o ´.´ já para separar as milhares....

não sei se eu expliquei direito.

Ele preenche assim

Ex.: 1000,00

eu queria assim

EX.: 1.000,00

voces poderiam me ajudar?


Paullsoftware
   - 03 abr 2006

Mude a forma de converter de

Citação:
EdtValor.Text:=FormatFloat(´#.00´,strtofloat(EdtValor.Text));

para:
#Código

EdtValor.Text:=FormatFloat(´,,0.00´,strtofloat(EdtValor.Text));
e acho que resolve :wink: