Linux学习笔记(八):awk实战小案例
怎么把数字金额用汉字表示?
思维过程
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.创建输入文件,如下 |
- 标题: Linux学习笔记(八):awk实战小案例
- 作者: kyang
- 创建于 : 2024-10-07 13:47:55
- 更新于 : 2025-07-11 16:56:12
- 链接: https://blog.kyang.top/2024/10/07/Linux学习笔记(八):awk实战小案例--把数字金额用汉字表示/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论