北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 4455|回复: 0

[tintin++]中文数字转换

[复制链接]
发表于 2017-2-14 16:58:51 | 显示全部楼层 |阅读模式
写了一天,比较乱,本想使用python脚本来写的
想想windows和linux上的python环境不一致,就没用了。
  1. #function tolist {
  2.         #var list {{一}{1}{二}{2}{三}{3}{四}{4}{五}{5}{六}{6}{七}{7}{八}{8}{九}{9}{十}{10}{百}{100}{千}{1000}{万}{10000}};
  3.         #var i 0;
  4.         #var num {};
  5.         #parse %1 tmp {
  6.                 #if {$i < 1} {
  7.                         #var tmp2 $tmp;
  8.                         #math i {$i + 1};
  9.                 };
  10.                 #else {
  11.                         #var tmp2 $tmp2$tmp;
  12.                         #var i 0;
  13.                         #var num {$num$tmp2;};
  14.                 };
  15.         };
  16.         #foreach $num t {
  17.                 #list result add $list.$t;
  18.         };
  19. };
  20. #function delzero {
  21.         #var result %1;
  22.         #replace result {零} {};
  23. };
  24. #function tonum {
  25.         #var tmp %1;
  26.         #replace tmp {"} {};
  27.         #list tmp size len;
  28.         #math result 0;
  29.         #loop {1} {$len} {i} {
  30.                 #math j {$i % 2};
  31.                 #if {$j} {
  32.                         #math tmp1 {$tmp.$i};
  33.                         #if {$i < $len} {
  34.                                 #math k {$i + 1};
  35.                                 #math tmp2 {$tmp.$k};
  36.                                 #if {$tmp1 == 10} {#math tmp3 {$tmp1 + $tmp2}};
  37.                                 #else {#math tmp3 {$tmp1 * $tmp2}};
  38.                         };
  39.                         #else {
  40.                                 #math tmp3 $tmp1;
  41.                         };
  42.                         #math result {$result + $tmp3};
  43.                 };
  44.         };
  45. }
  46. #function convert {
  47.         #var chs %1;
  48.         #var chs @delzero{$chs};
  49.         #regexp $chs {%*万%*} {
  50.                 #var chs1 @tolist{&1};
  51.                 #var chs1 @tonum{"$chs1"};
  52.                 #math num1 {$chs1 * 10000};
  53.                 #if {"&2" == ""} {
  54.                         #var result $num1;
  55.                 };
  56.                 #else {
  57.                         #var chs2 @tolist{&2};
  58.                         #var num2 @tonum{"$chs2"};
  59.                         #math result {$num1 + $num2};
  60.                 };
  61.         } {
  62.                 #var chs @tolist{$chs};
  63.                 #var result @tonum{"$chs"};
  64.         };
  65. }


复制代码
使用方法
#showme @convert{九千九百九十九万九千九百九十九}

北大侠客行MUD,中国最好的MUD

评分

参与人数 1精华 +15 +5 收起 理由
hypnos + 15 + 5 感谢分享

查看全部评分

北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 04:01 AM , Processed in 0.010897 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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