怎么限制EDIT中输入的为数字(可以为小数)。
还有怎么将STRING转换为浮点型。

解决方案 »

  1.   

    Edit的OnKeyPress事件中if not (key in ['0'..'9','.',#8]) then key:=#0;楼主,这样的问题CSDN里有无数人提过,你可在有问题的时候先在CSDN里搜索一下.....
      

  2.   

    还有怎么将STRING转换为浮点型。==============================StrToFloat()
      

  3.   

    if not (key in ['.','0'..'9',#8,#13]) then key:=#0;       //只能输入数字、小数点和回车、退格
    if (key in ['.']) and (pos('.',Edit1.Text)>0) then key:=#0;  //只能输入一个小数点
    if (key in ['.']) and(length(Edit1.Text)<1) then key:=#0;   //第一位不能为小数点
    if (key in ['0']) and (pos('.',Edit1.Text)<1)and(copy(Edit1.Text,1,1)='0') then
    key:=#0;                                       //第一位第二位不能都为0
      

  4.   

    用异常语句进行判断,转换出错的话就说明不正确了
    try
      strtoint(edit1.text);//字符串转整型
      strtofloat(edit1.text);//字符串转浮点型
    except
      showmessage('数据不正确');
    end;
      

  5.   

    用异常语句进行判断,转换出错的话就说明不正确了
    try
      strtoint(edit1.text);//字符串转整型
      strtofloat(edit1.text);//字符串转浮点型
    except
      showmessage('数据不正确');
    end;
    汗你调试的时候不会累啊。
      

  6.   

    // 一种不常用的方法,呵呵
    procedure TForm1.FormCreate(Sender: TObject);
    var
        wl:Integer;
    begin
        wl:=GetWindowLong(Edit1.Handle, GWL_STYLE);
        SetWindowLong(Edit1.Handle, GWL_STYLE, wl or ES_NUMBER);
    end;