输入:金额的中文大写(字符串)输出:阿拉伯数字(浮动或整型) )。
整数部分主要使用正则表达式进行检索,将对应项的数字与单位列表的对应项相乘后相加。 小数部也是同样的方法,但由于有只有角的情况,所以正则表达式很难处理,另外角、分在这里很少涉及,所以分离处理
1 .初始化参数
2 .处理整数部分
I .在正则表达式中按模板搜索(兆位到1位,没有对应项则为空) II .根据映射表执行映射,合并为数字列表III。 将数字列表和数字单位列表中的对应索引项相乘进行合计
3 .小数部分处理
I .长度为4:N角n分,获取角和分对应的数字,映射后与单位相乘求和
II .长度为3:0 n分钟,获取分钟对应的数字,执行映射后与单位相乘
III .长度为2,n角,取得与角对应的数字,执行映射并与单位相乘
4 .数据映射
与前面提到的映射方法一致,只是交换数字和汉字。 这里有对字符串的处理,如果是零n的形式,则将字符串替换为n,如果是空字符串,则根据零执行映射
5 .数据检查
判断数据的妥当性