关于vf金额大写

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:35:38
PARAMETERS nAmount
PRIVATE ALL LIKE L_*
L_S1='零壹贰叁肆伍陆柒捌玖'
L_S2='亿仟佰拾万仟佰拾亿仟佰拾万仟佰拾元角分'
nAmount=LTRIM(STR(nAmount*100,LEN(L_S2)/2))
L_LEN=LEN(nAmount)
L_SS2=RIGH(L_S2,2*L_LEN)
L_DX=''
L_0JS=0 &&连续零的个数
L_N=0
DO WHILE L_N L_N=L_N+1
L_SZ=SUBSTR(nAmount,L_N,1)
L_SZ=SUBSTR(L_S1,2*VAL(L_SZ)+1,2)
L_DW=SUBSTR(L_SS2,2*L_N-1,2)
IF L_SZ='零'
L_SZ=''
DO CASE
CASE L_DW$'亿元'
CASE L_DW='万'
IF RIGH(L_DX,2)='亿'
L_DW=''
ENDIF
OTHERWISE
L_DW=''
ENDCASE
L_0JS=L_0JS+1
ELSE
IF L_0JS>0
L_SZ='零'+L_SZ
ENDIF
L_0JS=0
ENDIF
L_DX=L_DX+L_SZ+L_DW
ENDDO
L_DX=L_

假设这段函数名为:Func Convert

调用:
lc_Amount = Convert(108.54)
THISFORM.txtAmount.Value = Convert(108.54)

这是一个现成的函数,你只要传给他参数并调用就好了,VFP我不知道函数怎么调用,你试一下