procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not(key in['0'..'9','.','-']) then key:=#0 else if key='-' then //负号处理 with (Sender as TCustomEdit) do begin if Text<>'' then begin if (Text[1]='-') then Text := Copy(Text, 2, Length(Text)) else Text := '-' + Text; end; end else if key='.' then //小数点处理 with (Sender as TCustomEdit) do begin if Text<>'' then begin if Pos('.', Text)>0 then key:=#0; end; end; end;
if not (key in['0'..'9','.',#8]) then key:=#0;
strtoint(edit1.text);
except
your program
end;
inttofloat(edit1.text);
except
showmessage('输入的不是数字');
edit1.text:='';
edit1.setfocus;
end;
begin
if not(key in['0'..'9','.','-']) then
key:=#0
else if key='-' then //负号处理
with (Sender as TCustomEdit) do begin
if Text<>'' then begin
if (Text[1]='-') then
Text := Copy(Text, 2, Length(Text))
else
Text := '-' + Text;
end;
end else if key='.' then //小数点处理
with (Sender as TCustomEdit) do begin
if Text<>'' then begin
if Pos('.', Text)>0 then
key:=#0;
end;
end;
end;