百度知道 FreeSoftnc编写的代码,堪称完美
什么都不要设置哦。。。用代码控制!!!
在TEXT的InteractiveChange 事件里加入下面代码!!!
lcstr=ALLTRIM(TRANSFORM(this.Value))
lcstr=STRTRAN(lcstr,',','')
lcstr=STRTRAN(lcstr,'.','')
IF !EMPTY(lcstr)
IF LEN(lcstr)<3
lcstr=PADL(lcstr,3,'0')
lcstr=STUFF(lcstr,2,0,'.')
ELSE
lc1=left(lcstr,LEN(lcstr)-2) &&left(lcstr,LEN(lcstr)-2)
n=0
ln0=LEN(lc1)
FOR i=1 TO LEN(lc1)-1
IF MOD(i,3)=0
*
n=n+1
*
lc1=STUFF(lc1,i+n,0,',')
lc1=STUFF(lc1,ln0-i+1,0,',')
*从右到左的顺序显示
ENDIF
ENDFOR
IF left(lc1,1)=','
lc1=right(lc1,LEN(lc1)-1)
ENDIF
lcstr=lc1+'.'+RIGHT(lcstr,2)
*-消除前导0
lcstr=LTRIM(LEFT(lcstr,AT('.',lcstr,1)-1),'0')+'.'+;
RIGHT(lcstr,LEN(lcstr)-AT('.',lcstr,1))
*-防止出现.12的情况
IF VAL(lcstr)<1
lcstr=TRANSFORM(VAL(lcstr))
ENDIF
ENDIF
ENDIF
this.Value=lcstr
this.SelStart=LEN(lcstr)
thisform.Refresh