#module
#deffunc numberstring int, int, int
mref number, 0 : mref keta, 1 : mref jitai, 2
mref rstr, 65
sdim kansuu, 4, 10
sdim ketakan, 4, 5
if jitai {
kansuu = "零", "壱", "弐", "参", "肆", "伍", "陸", "漆", "捌", "玖"
ketakan = "拾", "佰", "仟", "萬", "億"
} else {
kansuu = "0", "一", "二", "三", "四", "五", "六", "七", "八", "九"
ketakan = "十", "百", "千", "万", "億"
}
if number = 0 : rstr = kansuu : return
rstr = "" : i = number
repeat
if keta ! 0 {
if cnt \ 4 = 0 & (cnt ! 0) {
if i \ 10000 ! 0 : tmp = cnt / 4 + 2 : rstr = ketakan.tmp + rstr
if i \ 10 > 0 : tmp = i \ 10 : rstr = kansuu.tmp + rstr
if i \ 10 < 0 : tmp = i \ -10 : rstr = kansuu.tmp + rstr
} else {
if cnt \ 4 ! 0 & (i \ 10 ! 0) : tmp = (cnt - 1) \ 4 : rstr = ketakan.tmp + rstr
if i \ 10 > 1 : tmp = i \ 10 : rstr = kansuu.tmp + rstr
if i \ 10 < -1 : tmp = i \ -10 : rstr = kansuu.tmp + rstr
}
} else {
if i \ 10 = 0 & (i >= 10 | (i <= -10)) : rstr = kansuu + rstr
if i \ 10 > 0 : tmp = i \ 10 : rstr = kansuu.tmp + rstr
if i \ 10 < 0 : tmp = i \ -10 : rstr = kansuu.tmp + rstr
}
if i < 10 & (i > -10) : break : else : i = i / 10
loop
if number < 0 : rstr = "負の" + rstr
return
#global
randomize
repeat 3
i = cnt
repeat cnt + 1
rnd tmp, 1024
if cnt : num.i = num.i * tmp : else : num.i = tmp
loop
loop
pos 0, 0 : mes "元の数字"
repeat 3
mes "" + cnt + ". " + num.cnt
loop
pos 0, 100 : mes "★数値→漢数字(桁なし)"
repeat 3
numberstring num.cnt
mes "" + cnt + ". " + refstr
loop
pos 0, 200 : mes "★数値→漢数字(桁あり)"
repeat 3
numberstring num.cnt, 1
mes "" + cnt + ". " + refstr
loop
pos 0, 300 : mes "★数値→旧漢数字(桁なし)"
repeat 3
numberstring num.cnt, , 1
mes "" + cnt + ". " + refstr
loop
pos 0, 400 : mes "★数値→旧漢数字(桁あり)"
repeat 3
numberstring num.cnt, 1, 1
mes "" + cnt + ". " + refstr
loop
stop
|