產品手冊 實施方案 用戶案例 問題中心

財務專用:阿拉伯數字轉中文大寫金額(支持小數)

財務專用:阿拉伯數字轉中文大寫金額(支持小數)
— 金額小寫數字 整數元 轉換 中文大寫
function? yuan_zh(szNum)
? ? —阿拉伯數字轉中文大寫
? ? local szChMoney = “”
? ? local iLen = 0
? ? local iNum = 0
? ? local iAddZero = 0
? ? local hzUnit = {“”, “拾”, “佰”, “仟”, “萬”, “拾”, “佰”, “仟”, “億”,”拾”, “佰”, “仟”, “萬”, “十”, “百”, “千”}
? ? local hzNum = {“零”, “壹”, “貳”, “叁”, “肆”, “伍”, “陸”, “柒”, “捌”, “玖”}
? ? if nil == tonumber(szNum) then
? ? ? ? return tostring(szNum)
? ? end
? ? iLen =string.len(szNum)
? ? if iLen > 10 or iLen == 0 or tonumber(szNum) < 0 then
? ? ? ? return tostring(szNum)
? ? end
? ? for i = 1, iLen? do
? ? ? ? iNum = string.sub(szNum,i,i)
? ? ? ? if iNum == 0 and i ~= iLen then
? ? ? ? ? ? iAddZero = iAddZero + 1
? ? ? ? else
? ? ? ? ? ? if iAddZero > 0 then
? ? ? ? ? ? szChMoney = szChMoney..hzNum[1]
? ? ? ? end
? ? ? ? ? ? szChMoney = szChMoney..hzNum[iNum + 1] –//轉換為相應的數字
? ? ? ? ? ? iAddZero = 0
? ? ? ? end
? ? ? ? if (iAddZero < 4) and (0 == (iLen – i) % 4 or 0 ~= tonumber(iNum)) then
? ? ? ? ? ? szChMoney = szChMoney..hzUnit[iLen-i+1]
? ? ? ? end
? ? end
? ? local function removeZero(num)
? ? ? ? –去掉末尾多余的 零
? ? ? ? num = tostring(num)
? ? ? ? local szLen = string.len(num)
? ? ? ? local zero_num = 0
? ? ? ? for i = szLen, 1, -3 do
? ? ? ? ? ? szNum = string.sub(num,i-2,i)
? ? ? ? ? ? if szNum == hzNum[1] then
? ? ? ? ? ? ? ? zero_num = zero_num + 1
? ? ? ? ? ? else
? ? ? ? ? ? ? ? break
? ? ? ? ? ? end
? ? ? ? end
? ? ? ? num = string.sub(num, 1,szLen – zero_num * 3)
? ? ? ? szNum = string.sub(num, 1,6)
? ? ? ? — 開頭的 “一十” 轉成 “十” , 貼近人的讀法
? ? ? ? if szNum == hzNum[2]..hzUnit[2] then
? ? ? ? ? ? num = string.sub(num, 4, string.len(num))
? ? ? ? end
? ? ? ? return num
? ? end
? ? return removeZero(szChMoney)..”圓”
end
— 金額小數點 角、分轉換 中文大寫
function jiaofen_zh(szNum)
? ? local szChMoney = “”
? ? local iLen = 0
? ? local iNum = 0
? ? local iAddZero = 0
? ? local hzUnit = {“分”, “角”}
? ? local hzNum = {“零”, “壹”, “貳”, “叁”, “肆”, “伍”, “陸”, “柒”, “捌”, “玖”}
? ? if nil == tonumber(szNum) then
? ? ? ? return ‘請輸入金額’
? ? end
? ? 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
— 對字符串進行 拆分 ,目的是 將 1309.21 拆分為 1309 及 21 兩個字符串
function split(str,delimiter)
? ? local dLen = string.len(delimiter)
? ? local newDeli = ”
? ? for i=1,dLen,1 do
? ? ? ? newDeli = newDeli .. “[“..string.sub(delimiter,i,i)..”]”
? ? end
? ? local locaStart,locaEnd = string.find(str,newDeli)
? ? local arr = {}
? ? local n = 1
? ? while locaStart ~= nil
? ? do
? ? ? ? if locaStart>0 then
? ? ? ? ? ? arr[n] = string.sub(str,1,locaStart-1)
? ? ? ? ? ? n = n + 1
? ? ? ? end
? ? ? ? str = string.sub(str,locaEnd+1,string.len(str))
? ? ? ? locaStart,locaEnd = string.find(str,newDeli)
? ? end
? ? if str ~= nil then
? ? ? ? arr[n] = str
? ? end
? ? return arr
end
— 需要判斷,金額是否包含小數點,若 包含小數點,需要將小數點前 設置為:strYuan ; 小數點后 設置為:strJiaoFen
local strYuan,strJiaoFen,strDaxie,strOldjine
strOldjine = “104567096”? — 將來這個數字賦值的時候,小數點要保留2位,最好小數第二是0要處理一下
t = split(strOldjine, “.”)? ? ?— 將 124567.09 拆分為 124567 及 09 兩個字符串
— 給 金額 整數元 賦值; 給 金額 角分 賦值
local strY = t[1]
local strJ = t[2]
–小數點前整數 元(需獨立獲?。?/div>
strYuan = yuan_zh(strY)
— 金額 的小數點前的 大寫
strDaxie = strYuan
–strJ小數點后 角分 (需獨立獲?。?/div>
if strJ ~= nil then
? ? strJiaoFen = jiaofen_zh(strJ)
? ? — 完整大寫金額 拼接后完成
? ? strDaxie = strDaxie..strJiaoFen
end
— for i = 1 ,200 do
? ?print(strDaxie)
— end
標簽:手冊方案腳本 上一篇: 下一篇:
展開更多
預約軟件體驗

loading...

主站蜘蛛池模板: 欧美成人18性| 亚洲一区二区三区不卡在线播放| 久久国产免费观看精品3| jizz国产视频| 欧美丰满少妇xxxxx| 国产精品色拉拉免费看| 亚洲熟妇av一区二区三区宅男| 中文字幕在线欧美| 美女扒开腿让男人捅| 成人综合视频网| 尤物视频在线看| 再深一点灬舒服灬太大了| 亚洲av中文无码乱人伦在线视色| 91精品啪在线观看国产18| 毛片免费在线观看网址| 国产色无码精品视频国产| 亚洲天堂中文字幕在线观看| 1000部又爽又黄的做黄禁片| 欧美三级不卡视频| 国产成人无码a区在线观看视频| 亚洲AV无码专区国产不乱码| 高清一级做a爱免费视| 日本午夜在线视频| 午夜老司机免费视频| xarthunter| 残忍女王虐茎chinese| 国产精品JIZZ在线观看老狼| 久久精品日韩Av无码| 色综合视频在线| 小四郎在线观看| 亚洲男人第一av网站| h小视频在线观看| 日韩欧美成人免费中文字幕 | 精品久久久久久久免费加勒比| 成人免费视频网| 亚色九九九全国免费视频| 中文国产成人精品少久久| 男男性彩漫漫画无遮挡| 国产精品视频区| 久久婷婷激情综合色综合俺也去 | 日韩不卡在线播放|