在keypress事件中进行判断所输入的字符是否为数字if key in ['0','1'...'9'] then
begin
  ...
end;

解决方案 »

  1.   

    用MaskEdit或
    KeyPress事件中对Key做处理。
      

  2.   

    var
      F:float;
    begin
      try
        F:=strtofloat(edit1.text)
      except
        showmessage('error');
      end;
    end;
      

  3.   

    对key 作处理的时候:
      Key在KeyPress事件中是Key 是Char ,
      backspace 是空,但是在[]加上‘ ’不起作用
      不知道怎么回事情
      

  4.   

    if not (key in['0'..'9',#8]) then
     begin
      beep;
      key:=#0;
     end;
    #8,是退格键的asc码;
    beep是发声,当然可以不要!
      

  5.   

    if not(key in ['0'..'9','.',#8]) then key:=#0
      

  6.   

    用SpinEdit(delphi自带的),只能输入数字,例如:年龄