怎么把数字金额用汉字表示?
思维过程
1.创建一个awk脚本文件
2.数据初始化
awk分为三部分:
BEGIN{} #主要初始化一些数据,定义一些静态值...#中间代码END{}
- **我们需要初始化一个
全局数组来记录汉字,方便取值,如["壹","贰",...]
3.校验
输入的校验,也许你应该校验输入值是不是一个合法金额
4.规整化
输入值,将所有输入值变成
xxx.xx这样的格式方便操作
5.提取
提取出整数部分,和小数部分,并做出判断,如
全0:…整数0: …小数0: …其他: …
分别处理
针对整数部分和小数部分分别
编写函数进行汉字转变
小数
提取出值在前面的初始化的数组中取值,如
nums[i]
根据不同情况进行输出,主要处理0的情况整数
写一个方法,进行判断递归进行判断
如:1
2
3
4
5
6if (num >= 10000) {
取出剩下的
nextNum = num % 10000;
if (nextNum < 1000) return 递归(num / 10000) "万零" 递归(nextNum)
return 递归(num / 10000) "万" 递归(nextNum)
}类似的进行处理
调用
编写完成之后,进行调用看结果是否正确
代码
1.创建
1 | touch num2zh |
2.编写代码
1 | !/usr/bin/awk -f |
3.使用
1 | 1.创建输入文件,如下 |