try
    strtoint(edit1.text);
except
    showmessage('不是数字');
end;

解决方案 »

  1.   

    用 Val 函数可以转换为数字,并可以指出第几位出错。
      

  2.   

    对啊就是
    try
        strtoint(edit1.text);
    except
        showmessage('不是数字');
    end;方便又不复杂
      

  3.   

    StrToInt只支持整数,当数字串比较长时,会出现整数溢出,如果用楼上的方法就会误报的, 可用Val函数,它支持的数字串长度就远远超过StrToInt了,如下:function IsNumber(mStr: string): Boolean; { 返回字符串是否是正确的数字表达 }
    var
      I: Real;
      E: Integer;
    begin
      Val(mStr, I, E);
      Result := E = 0;
    end; { IsNumber }
      

  4.   

    20分?给我分一点啦
    下边:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9',#13]) then
      key:=#0;
    end;
      

  5.   

    to ihihonline(小小), 呵呵,怎么你的信誉只有97了?? 楼上的还可改为
    if not (key in ['0'..'9',#13, #8]) then
      key:=#0;加个#8才能处理BacSpace即退格键!!
      

  6.   

    edit中的全是字符类型,要靠自已去转换。
      

  7.   

    http://www.csdn.net/expert/topic/570/570770.xml?temp=1.362246E-02
    呵呵,就是他啦,害的我丢了三分
      

  8.   

    TO weizhi(行者) (  ) 
    if not (key in ['0'..'9',#13, #8,#46]) then
      key:=#0;加个#8才能处理BacSpace即退格键!! 
    这样,是不是会更好一点?
     
     
      

  9.   

    to  ihihonline(小小):呵呵,当然,这样才能输入'.'呀,不过看老板的意思应该只是要识别已输入文字的类型,而不是要限制输入呀, 所以,用上面的if IsNumber(Edit1.Text) then 
      showmessage('Edit1.Text 中输入的是合法的数字串'
    else 
      showmessage('Edit1.Text 中输入的不是合法的数字串';
      

  10.   

    to  ihihonline(小小) again:呵呵,看了
    http://www.csdn.net/expert/topic/570/570770.xml?temp=1.362246E-02呵呵,看来老兄也是性情中人,大家同病相怜了!!