铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 1888|回复: 6

27->廿七,0~90数字转中文数字函数

[复制链接]
发表于 2013-5-22 07:28 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
本帖最后由 btxdex 于 2013-5-22 07:29 编辑

今天继续分享点小函数。
这个大概可以有数字转换到日期的作用?只到90的原因是百度上只给到了80打头的'枯'。
  1. function ChineseCharTime(n) --超出90概不负责
  2.         if (n>90) then
  3.                 lib.Debug("Unable to parse int "..n.." to chinese char");
  4.                 return "";
  5.         end
  6.         if (n==0) then
  7.                 return '零';
  8.         end
  9.         local num={'一','二','三','四','五','六','七','八','九','十'};
  10.         local prefix={[0]="",'十','廿','卌','圩','圆','进','枯'};
  11.         local str="";
  12.         if (math.fmod(n,10)==0) then
  13.                 local sf=math.modf(n/10);
  14.                 return string.format("%s十",num[sf]);
  15.         end
  16.         str=str..prefix[math.modf(n/10)];
  17.         str=str..num[math.fmod(n,10)];
  18.         return str;
  19. end
复制代码
昨天的垂直string函数存在只能画中文的问题,这里解决一下数字符号什么的换行的问题,就是把半符转换为全符。有需要可以添加'A','B','C'字母什么的,但是太麻烦了这里偷个懒。
  1. function FullCharTalkStr(s) --把半角字符转换成全角
  2.         local halfChar={'!','%?','%.',',',':','%(','%)','<','>','0','1','2','3','4','5','6','7','8','9','%*'};
  3.         local fullChar={'!','?','.',',',':','(',')','<','>','0','1','2','3','4','5','6','7','8','9','*'};
  4.         for i=1,#halfChar do
  5.                 s=string.gsub(s,halfChar[i],fullChar[i]);
  6.         end
  7.         return s;
  8. end
复制代码
以上小打小闹,大神不要太认真!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-5-22 07:57 | 显示全部楼层
学习了,原来真的有卌这个字啊....-_-

点评

百度一下你就知道  发表于 2013-5-22 08:27
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-5-22 09:18 | 显示全部楼层
本帖最后由 KA 于 2013-5-22 09:23 编辑

还是用二十三,三十八这种吧,俺文盲从二十开始之后全部不认识
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-5-22 09:57 | 显示全部楼层
一到九计数 足够用了,大家看着也舒服,
让那些卌,圩,圆,进....继续沉睡在历史长河里吧。

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2013-5-22 10:06 | 显示全部楼层
那就把prefix换成'一十','二十','三十'...就好了...
我是抄袭金3的格式写的。中学文言文学的廿,然后当时写的时候我顺便百度了一下于是就成现在这样了。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-5-22 10:16 | 显示全部楼层
btxdex 发表于 2013-5-22 10:06
那就把prefix换成'一十','二十','三十'...就好了...
我是抄袭金3的格式写的。中学文言文学的廿,然后当时写 ...

有空的话支持到65535吧。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-5-23 09:16 | 显示全部楼层
文盲表示除了廿,后面的全都不认识
貌似如果不是看过风云,恐怕连廿字的发音都读不出来……

点评

没看过风云的标示,廿,不会打不会读  发表于 2013-5-23 11:35
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-4 13:32

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表