你这么的吧,
在eidt的onpresskey事件中
加入
if key not(in ['0'..'9','.']) then key:=chr(0);
你在
保存时
你可以从edit 中取出小数点之前的所有数据啊

解决方案 »

  1.   

    procedure Tform1.editKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (key = 8) or (key = 37) or (key = 39) or (key = 46) or (key = 13) then
        begin
           TEdit(sender).readonly := false;
           exit;
        end;
      if ((key >=48) and (key <= 57)) or ((key >= 96) and (key <= 105)) or (key=110) or(key=190) then
         TEdit(sender).readonly := false
      else
         TEdit(sender).readonly := true;
    end;
      

  2.   

    在eidt的onpresskey事件中
    加入
    if key not(in ['0'..'9','.']) then key:=chr(0);
    在保存时
    var 
      TempInt:Integer;
    begin
      TempInt := Trunc(StrToInt(Edit1.Text));//取整数部分~~
    end;
    如果Edit1。Text 等于1234.56则TempInt等于1234