1. 程式人生 > >阿拉伯數字轉人民幣大寫測試版

阿拉伯數字轉人民幣大寫測試版

SET CONSOLE OFF 
text
說明
整數位:最多12位,小數位:最多2位
呼叫方法:rmbdx(100000000000.30)
endtext
MessageBox(rmbdx(100200000000.30))

Function rmbdx
lparameters count1
z1="仟佰拾億仟佰拾萬仟佰拾元角分"
z2="零壹貳叄肆伍陸柒捌玖"
lcstr=Alltrim(Padl(Int(count1*100),16))
lcdx=""
For lnI=1 to Len(lcstr)
    lcdx=lcdx+Substr(z2,(Val(Substr(lcstr,lnI,1))*2)+1,2)
    lcdx=lcdx+Substr(Right(z1,Len(lcstr)*2),(lnI-1)*2+1,2)
EndFor 

*lcdx=Strtran(lcdx,"零億","億")
*lcdx=Strtran(lcdx,"零萬","萬")
lcdx=Strtran(lcdx,"零仟","零")
lcdx=Strtran(lcdx,"零佰","零")
lcdx=Strtran(lcdx,"零拾","零")
Do while "零零"$lcdx
    lcdx=Strtran(lcdx,"零零","零")
EndDo 

lcdx=Strtran(lcdx,"零億","億")
lcdx=Strtran(lcdx,"零萬","萬")
lcdx=Strtran(lcdx,"億萬","億")
lcdx=Strtran(lcdx,"零元","元")
lcdx=Strtran(lcdx,"零角零分","整")
lcdx=Strtran(lcdx,"零角","零")
lcdx=Strtran(lcdx,"零分","整")
Return lcdx