delphi edit 固定小数位数的实现(形如:1,000,000.10)

procedure Tfrm_jz.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if (key in ['0'..'9',#8,#13]) then
      begin
       if key=#13 then
          begin
             if length(edit1.Text)>2 then
                edit1.Text:=copy(edit1.Text ,1,(length(edit1.Text)-2))+'.'+copy(edit1.Text ,(length(edit1.Text)-1),2)  ;
             if length(edit1.Text)=2 then
                edit1.Text:='0.'+edit1.Text;
             if length(edit1.Text)=1 then
                edit1.Text:='0.0'+edit1.Text;
             edit2.SetFocus;
          end
      end
   else
      key:=#0;
end;

 

 

delphi edit 固定小数位数的实现方法的改进
------------------------
procedure Tfrm_jz.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if (key in ['0'..'9',#46,#13]) then
      begin
       if (SubStrConut(Edit1.Text,'.')=1) and (key in [#46]) then
             key:=#0;
       if key=#13 then
          begin
          if (pos(',',edit1.text)=0) and (edit1.text<>'') then
             edit1.Text:=formatfloat('#,##0.00',strtofloat(edit1.Text));
          edit2.SetFocus;
          end;
      end
   else if key in [#8]  then
      edit1.text:=''
   else
      key:=#0;
end;

 

delphi edit 固定小数位数的实现方法的改进(解决无法输入负数的问题)
------------------------

procedure Tfrm_jz.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if (key in ['0'..'9',#45,#46,#13]) then
      begin
       if (SubStrConut(Edit1.Text,'.')=1) and (key in [#46]) then
             key:=#0;
       if (SubStrConut(Edit1.Text,'-')=1) and (key in [#45]) then
             key:=#0;
       if key=#13 then
          begin
          if (pos(',',edit1.text)=0) and (edit1.text<>'') then
             if (pos('-',edit1.text)=0) or (pos('-',edit1.text)=1) then
             begin
                edit1.Text:=formatfloat('#,##0.00',strtofloat(edit1.Text));
                edit2.SetFocus;
             end;
          end;
      end
   else if key in [#8]  then
      edit1.text:=''
   else
      key:=#0;
end;

转载于:https://www.cnblogs.com/kylskjb/archive/2010/05/28/1746725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值