procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin //限制输入字符 if not (key in ['1'..'9','.',#8]) then begin key := #0 ; exit ; end ; //限制'.'个数 if (key = '.') and (pos('.',TEdit(Sender).Text) > 0 ) then begin Key := #0 ; exit ; end ; //限制个数 if (pos('.',TEdit(Sender).Text) > 0 ) then begin if (TEdit(Sender).SelStart >= pos('.',TEdit(Sender).Text)) and ( Length(Copy(Tedit(Sender).Text,pos('.',TEdit(Sender).Text)+1, Length(TEdit(Sender).Text )- pos('.',TEdit(Sender).Text)))>1 ) and (key <>#8)then begin Key := #0 ; exit ; end ; end ; end;
并且设置它的EditMask为9999.99;1;_
要么就在onChange中判断
begin
//限制输入字符
if not (key in ['1'..'9','.',#8]) then
begin
key := #0 ;
exit ;
end ;
//限制'.'个数
if (key = '.') and (pos('.',TEdit(Sender).Text) > 0 ) then
begin
Key := #0 ;
exit ;
end ;
//限制个数
if (pos('.',TEdit(Sender).Text) > 0 ) then
begin
if (TEdit(Sender).SelStart >= pos('.',TEdit(Sender).Text)) and
( Length(Copy(Tedit(Sender).Text,pos('.',TEdit(Sender).Text)+1, Length(TEdit(Sender).Text )-
pos('.',TEdit(Sender).Text)))>1 ) and (key <>#8)then
begin
Key := #0 ;
exit ;
end ;
end ;
end;