|
最近发现公版居然不能正确显示10万以上黄金
看了下发现算法有点问题。所以这里给个小补丁大家
百万,千万可以用同样方法解决
- function trans(num)
- local words = {}
- local i = 0
- num = string.gsub(num, "零十", "10 ")
- num = string.gsub(num, "零", "")
- num = string.gsub(num, "一", "1")
- num = string.gsub(num, "二", "2")
- num = string.gsub(num, "三", "3")
- num = string.gsub(num, "四", "4")
- num = string.gsub(num, "五", "5")
- num = string.gsub(num, "六", "6")
- num = string.gsub(num, "七", "7")
- num = string.gsub(num, "八", "8")
- num = string.gsub(num, "九", "9")
- num = string.gsub(num, "十万", "00000 ")
- num = string.gsub(num, "百万", "000000 ")
- i = string.find(num, "十")
- if i == 1 then
- num = string.gsub(num, "十", "10 ")
- else
- num = string.gsub(num, "十", "0 ")
- end
- num = string.gsub(num, "百", "00 ")
- num = string.gsub(num, "千", "000 ")
- num = string.gsub(num, "万", "0000 ")
- for w in string.gmatch(num, "(%w+)") do table.insert(words, w) end
- i = 0
- for p = 1, table.getn(words) do i = i + tonumber(words[p]) end
- return i
- end
复制代码 |
评分
-
1
查看全部评分
-
|