try
    strtoint(edit1.Text)
except
    on EConvertError do
    begin
        showmessage('请输入数字!');
        exit;
    end;
end;
还有其他检测是否是数字的好办法吗?

解决方案 »

  1.   

    if not (key in['0'..'9',',',#8]) then key:=#0;限制输入
      

  2.   

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

  3.   

    for i:=1 to length(edit1.text) do
    begin
    if not (edit1.text[i] in  ['0'..'9']) then
      begin 
          showmessage('请输入数字!');
          exit;
      end;
    end;
      

  4.   

    用MASKEDIT掩码编辑框更适合些,不需要写代码,只需要定制你需要的掩码即可。