如何控制文本框中只能输入最多小数点后两位的数字,等!谢谢!如
2547.36

解决方案 »

  1.   

    用maskedit
    editmask设为:######.##;1;_
      

  2.   

    如果一定要用Edit:
    xiaoshu:=pos('.',Edit1.Text);
      j:=0;
      for i:=length(Edit1.Text) downto xiaoshu do
       j:=j+1;
      if j>3 then
        showmessage('最多只能输2位小数!');
      

  3.   

    哦,忘了,在onChange事件里写代码,我这样做过了的!
      

  4.   

    xiaoshu:=pos('.',Edit1.Text);
      j:=0;
      for i:=length(Edit1.Text) downto xiaoshu do
       j:=j+1;
      if j>3 then
        showmessage('最多只能输2位小数!');
    这段只是小数点不能超过二位,那如何控制只能输入数字呢!
      

  5.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    var
       s:set of char;
       i:integer;
    begin
    s:=['.',#8,'0'..'9'];
    i:=pos('.',edit1.text);
    if i>0 then
       s:=s-['.'];
    if (i>0)and(i=length(edit1.text)-2) then    //可任意控制-2,-3....
        begin
             key:=#0;
             exit;
        end;
    if not (Key in s)then
        Key := #0;
    end;
      

  6.   

    在onChange事件里写代码:
    var
      r:double;
    begin
      try
        r := strtofloat(edit1.text);
        if r*100 > r*100 div 1
        then  messagebox(0,'最多输入2位小数','',mb_ok);
      except
        messagebox(0,'输入数字','',mb_ok);
      end;
    end;
      

  7.   

    temp1:=strtofloat(edit1.text);
    temp2:=rount(temp1,-2);
    edit1.text:=floattostr(temp2);