lua中數字轉成人民幣大寫形式
阿新 • • 發佈:2018-12-30
最近寫的一個函式,需要對大家有幫助
--文字轉換 function Bank:numberToString(szNum) local szChMoney = "" local szNum = 0 local iLen = 0 local iNum = 0 local iAddZero = 0 local hzUnit = {"", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾", "佰", "仟", "萬", "拾", "佰", "仟"} local hzNum = {"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"} if nil == tonumber(szNum) then return '錯誤的數字' end szNum = '10000001' iLen =string.len(szNum) if iLen > 15 or iLen == 0 or tonumber(szNum) < 0 then return "錯誤的數字" end local i = 0 for i = 1, iLen do iNum = string.sub(szNum,i,i) if iNum == 0 then iAddZero = iAddZero + 1 else if iAddZero > 0 then szChMoney = szChMoney..hzNum[1] end szChMoney = szChMoney..hzNum[iNum + 1] --//轉換為相應的數字 iAddZero = 0 end if iNum ~=0 or iLen-i==3 or iLen-i==11 or ((iLen-i+1)%8==0 and iAddZero<4) then szChMoney = szChMoney..hzUnit[iLen-i+1] end end return szChMoney end