说明
//你很可能看不懂我写的什么,但是代码可以直接用,不用谢我
这篇文章的起因是我想写一个编译原理的工具,后来我顺便想到了字符对应,于是我脑洞大开,就想到了这个银行大写金额转换的工具。
思路跟我的上篇博客那个罗马数字的转换也是一回事
噢,对了,为了防止来到本博客的小伙伴还不知道我讲的什么,我决定讲下这个程序的功能。
实现了 把银行票据上的数字转换为中文金额
比如: 输入31655427 就会显示 叁仟壹佰陆拾伍万伍仟肆佰二拾柒
思路(看看就行,可以自己实现,好懂)
思路如下:
1)不管金额多少位,都是4位后变成万,8位后变成亿,然后按照这个规律不断的进行循环
2)写一个四位数的输出函数c_out(); c_out实现了给出四位数就能把四位数翻译成 中文输出
3)逻辑上的控制,先把金额的各位分离,然后进行逻辑上的控制进行“万”,“亿”等字符的匹配输出
技巧及注意事项:
1)分离金额,假设该数是n,用num数组去接各位
int count=0;
whiel(n){
num[++count] = n%10;
n/=10;
}
这样就能达到分离的目的了
2)关于四位数翻译函数
写的时候要注意几点
1000 会输出 壹仟 1001 会输出 壹仟零壹
这种特例要特殊考虑
代码(直接用吧,写的复杂,一下讲不明白)
#include <iostream>
using namespace std;
int num[100];
void trans(int temp){
if(temp==1) cout<<"壹";
if(temp==2) cout<<"贰";
if(temp==3) cout<<