主题:数字大小写
人民币小写转成大写可用下列程序:
PUBLIC cdxx
ctitle=xx
cdxx=getpy(ctitle)
FUNCTION getpy
LPARAMETERS mmje
PRIVATE dx,aa,i,lcReturnValue
dx=IIF(mmje<0,'负','')
aa=ROUND(ABS(mmje)*100,0)
FOR i=LEN(ALLTRIM(STR(aa,15)))-1 to 0 STEP -1
dx=dx+SUBS('零壹贰叁肆伍陆柒捌玖',INT(ROUND(aa/10^i,10))*2+1,2)+SUBS('分角元拾佰仟万拾佰仟亿拾佰仟万',i*2+1,2)
aa=MOD(aa,10^i)
ENDFOR
dx=STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(dx,'零仟','零'),'零佰','零'),'零拾','零'),'零角','零'),'零分','整')
dx=STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(dx,'零零','零'),'零零','零'),'零亿','亿'),'零万','万'),'零元','元')
lcReturnValue = IIF(dx='整','零元整',STRTRAN(STRTRAN(dx,'亿万','亿'),'零整','整'))
RETURN (lcReturnValue)
ENDPROC
请朋友给改一改,使其变为数字大小写呢?如256写贰佰伍拾陆,且最后不带整。
PUBLIC cdxx
ctitle=xx
cdxx=getpy(ctitle)
FUNCTION getpy
LPARAMETERS mmje
PRIVATE dx,aa,i,lcReturnValue
dx=IIF(mmje<0,'负','')
aa=ROUND(ABS(mmje)*100,0)
FOR i=LEN(ALLTRIM(STR(aa,15)))-1 to 0 STEP -1
dx=dx+SUBS('零壹贰叁肆伍陆柒捌玖',INT(ROUND(aa/10^i,10))*2+1,2)+SUBS('分角元拾佰仟万拾佰仟亿拾佰仟万',i*2+1,2)
aa=MOD(aa,10^i)
ENDFOR
dx=STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(dx,'零仟','零'),'零佰','零'),'零拾','零'),'零角','零'),'零分','整')
dx=STRTRAN(STRTRAN(STRTRAN(STRTRAN(STRTRAN(dx,'零零','零'),'零零','零'),'零亿','亿'),'零万','万'),'零元','元')
lcReturnValue = IIF(dx='整','零元整',STRTRAN(STRTRAN(dx,'亿万','亿'),'零整','整'))
RETURN (lcReturnValue)
ENDPROC
请朋友给改一改,使其变为数字大小写呢?如256写贰佰伍拾陆,且最后不带整。