procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var DotPos:integer; begin if key in [#48..#57,'.',#8] then begin DotPos:=pos('.',edit1.Text); if DotPos>0 then if (length(edit1.Text)-DotPos)>=2 then key:=#0; end else key:=#0; end;
----------------------------------------------
-
十分感谢zxdcj的回答!!! 在使用中发现一个问题,按照此程序,输入小数点后2位数字之后退格键也无法使用了。把 if (length(edit1.Text)-DotPos)>=2 then key:=#0; 改为 if (key<>#8) and ((length(i_balance.Text)-DotPos)>=2) then key:=#0; 就可以的了。