我用的方法比较死板,以转换金创药的数量为例:
#tr {(*)包金创药~(*}
{
yao_num=%trim(%1);
yao_num=%replace(@yao_num,"零","");yao_num=%replace(@yao_num,"一",1);yao_num=%replace(@yao_num,"二",2);yao_num=%replace(@yao_num,"三",3);yao_num=%replace(@yao_num,"四",4);yao_num=%replace(@yao_num,"五",5);yao_num=%replace(@yao_num,"六",6);yao_num=%replace(@yao_num,"七",7);yao_num=%replace(@yao_num,"八",8);yao_num=%replace(@yao_num,"九",9);yao_num=%replace(@yao_num,"百","*100+");yao_num=%replace(@yao_num,"十","*10+");yao_num=%eval(@yao_num)
}
因为我身上的药不会过千,就只转换到了百位,比如“一百一十二”,通过上面的逐一替换,变成1*100+1*10+2,然后用%eval()对表达式求值得出结果,复杂点的只要增加替换的语句就可以了