如果要在Edit1中输入一个小数,如何防止输入其它非法字符?如何防止输入两个小数点?用代码如何实现?谢谢了!

解决方案 »

  1.   

    在Edit的OnKeyPress事件里限制输入,在提交时用TryStrToFloat判断procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (Key in ['0'..'9','.',#8]) then Key:=#0;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var a:Extended;
    begin
      if TryStrToFloat(Edit1.Text,a) then
        ShowMessage('合法')
        else ShowMessage('不合法');
    end;
      

  2.   

    有现成的控件不用一定要用代码实现吗?
    使用格式化文本框控件TMaskEdit......
      

  3.   

    TMaskEdit的EditMask属性已经规定死了小数点的位置和输入长度,不方便
      

  4.   

    哦,明白了,明白了,谢谢!用TryStrToFloat(Edit1.Text,a)实现了。