Function Tmainform.InputFloat(TempStr:String;Var Key:Char):Char;
begin
TempStr:=Trim(TempStr);
if Pos('.',TempStr)>0 then
begin
if Not (Key in['0'..'9',#8]) then
Result:=#0
else
Result:=Key
end
else begin
if Not (Key in['0'..'9','.',#8]) then
Result:=#0
else
Result:=Key
end;
看下面的代码,放到Edit 的 OnKeyPress 事件中
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#8,#13]) then begin //#8 退格键,#13回车键
Key := #0;
ShowMessage('输入的不是数字!');
end;
end;