mush新手求助
local sqian="三千七百八十四万六千一百二十五"local milion=string.find(sqian,"万")
local thousa=string.find(sqian,"千")
local hundre=string.find(sqian,"百")
local teens=string.find(sqian,"十")
if milion~=nil then
if thousa~=nil then
if thousa<milion then
sqian=string.gsub(sqian,"千","*10000000+",1)
sqian=string.gsub(sqian,"千","*1000+")
end
if hundre~=nil then
if hundre<milion then
sqian=string.gsub(sqian,"百","*1000000+",1)
sqian=string.gsub(sqian,"百","*100+")
end
if teens~=nil then
if teens<milion then
sqian=string.gsub(sqian,"十","*100000+",1)
sqian=string.gsub(sqian,"十","*10+")
end
end
end
end
end
sqian=string.gsub(sqian,"万","*10000+")
sqian=string.gsub(sqian,"千","*1000+")
sqian=string.gsub(sqian,"百","*100+")
sqian=string.gsub(sqian,"十","*10+")
sqian=string.gsub(sqian,"九","9")
sqian=string.gsub(sqian,"八","8")
sqian=string.gsub(sqian,"七","7")
sqian=string.gsub(sqian,"六","6")
sqian=string.gsub(sqian,"五","5")
sqian=string.gsub(sqian,"四","4")
sqian=string.gsub(sqian,"三","3")
sqian=string.gsub(sqian,"二","2")
sqian=string.gsub(sqian,"一","1")
sqian=string.gsub(sqian,"零","")
print (sqian)如上,想把中文大写转成可运算的数字,但我写到这一步就写不下去了,还望高手老人指点,感谢
[ 本帖最后由 dgda 于 2010-5-19 11:50 AM 编辑 ] 写这么一大堆,好象不错嘛。
另外,磨这个不是我擅长的,我是文科生出身,对各种算法,那叫相当的弱。
不过,我记得好象论坛里有人给出过一个这个功能的半成品。
如果楼主非要自己写出来,呼唤ddid来给你帮助吧。。。 原帖由 lzkd 于 2010-5-19 11:36 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
写这么一大堆,好象不错嘛。
另外,磨这个不是我擅长的,我是文科生出身,对各种算法,那叫相当的弱。
不过,我记得好象论坛里有人给出过一个这个功能的半成品。
如果楼主非要自己写出来,呼唤ddid来给你帮助吧 ...
谢谢,呵呵,才看lua和mush两天,感觉是不错,除了没有zmud那么方便的automap,其它的,还挺好的
还请给新人指点啊,ddid在吗?chat* beep ddid
上面我写的,只能--->sqian="3*10000000+7*1000000+8*100000+4*10000+6*1000+1*100+2*10+5"
怎么才能把sqian转成数字啊?谢谢了
[ 本帖最后由 dgda 于 2010-5-19 11:51 AM 编辑 ] 你这个只怕要换思路了,你这样得到的是代表一个表达式的字符串,据我所知,lua是没有办法将2*1000+3*100+3这种字符串表达式直接运算成数值结果的。 举个例吧,你得这样,先把汉字数字转换成3万6千之类的格式,然后
local num=0
string.gsub(t1,"%d万",function(w) num=num+string.sub(w,1,1) end)
num=num*10000
string.gsub(t2,"%d千",function(w) num=num+string.sub(w,1,1)*1000 end)
当然上面这个是非常之简化了的。
see,see,see?ttk_11 http://www.pkuxkx.com/forum/viewthread.php?tid=11586&highlight=%D7%AA http://pkuxkx.com/forum/viewthread.php?tid=1173&extra=page%3D&page=1 原帖由 dgda 于 2010-5-19 11:49 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
谢谢,呵呵,才看lua和mush两天,感觉是不错,除了没有zmud那么方便的automap,其它的,还挺好的
还请给新人指点啊,ddid在吗?chat* beep ddid
上面我写的,只能--->sqian="3*10000000+7*1000000+8*10000 ...
你这个不是已经出来了吗?最后再差一点就是。
你把那个算式整成
sqian = tonumber(sqian1)*tonumber(sqian2) + tonumber(sqian3)*tonumber(sqian4) + ......
就可以了 原帖由 maper 于 2010-5-19 12:11 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
http://pkuxkx.com/forum/viewthread.php?tid=1173&extra=page%3D&page=1
wa!!!!
把maper大神勾出来了。。嘿嘿 另外,lua很奇怪的。
两个象数值的变量相加,不能自动计算,非得转换成数值型的才可以。。。
页:
[1]
2