モジュール:サンドボックス/とうねこ/漢数字
表示
モジュールの解説[作成]
local p = {}
function p.kansuuji( frame )
n = tonumber(frame.args[1])
if n >= 1 then
return keta16(n)
elseif n <= -1 then
return "マイナス" + keta16(math.abs(n))
else
return "〇"
end
end
function p.keta16( frame )
b = tonumber(frame.args[1])
c = 0
result = ""
d = {"万", "億", "兆"}
while b > 1 do
c = c + 1
if b % 10000 > 0 then
if c > 1 then
result = d[c - 1] .. result
result = keta4(b % 10000) .. result
end
b = math.floor(b / 10000)
end
end
return result
end
function p.keta4( frame )
b = tonumber(frame.args[1])
c = 0
result = ""
d = {"十", "百", "千"}
while b > 0 do
c = c + 1
if b % 10 > 0 then
if c > 1 then
result = d[c - 1] .. result
end
if b % 10 > 1 or b == 0 then
result = number(b % 10 - 1) .. result
end
b = math.floor(b / 10)
end
end
return result
end
function p.number(frame)
a = { "一", "ニ", "三", "四", "五", "六", "七", "八", "九" }
return a[tonumber(frame.args[1])]
end
return p