#include <iostream>
#include <map>
#include <string>
#include <stack>
using namespace std;
typedef pair<int,string> mypair;
string transform(long long i)
{//定义map映射map<int,string> mymap1;map<int,string> mymap2;mymap1.insert(mypair(0,"零"));mymap1.insert(mypair(1,"壹"));mymap1.insert(mypair(2,"贰"));mymap1.insert(mypair(3,"叁"));mymap1.insert(mypair(4,"肆"));mymap1.insert(mypair(5,"伍"));mymap1.insert(mypair(6,"陆"));mymap1.insert(mypair(7,"柒"));mymap1.insert(mypair(8,"捌"));mymap1.insert(mypair(9,"玖"));mymap2.insert(mypair(1,"拾"));mymap2.insert(mypair(2,"佰"));mymap2.insert(mypair(3,"仟"));mymap2.insert(mypair(4,"万"));mymap2.insert(mypair(8,"亿"));int count=-1,j=0,k=0;//count记录位数int yi=100000000;int wan=10000;string result;stack<int> stak;//用栈实现高位优先//判断亿位以上if(i>yi){j=i/yi;while(j){stak.push(j%10);++count;j/=10;}while(!stak.empty()){k=stak.top();stak.pop();while(k==0&&!stak.empty()&&stak.top()==0)//多个零重复只保留一个{--count;stak.pop();}if(k==0&&stak.empty()) break;//最后一个零不输出result+=mymap1[k];if(count>0&&k!=0){result+=mymap2[count];--count;}else--count;}count=-1;result+=mymap2[8];//最后加上“亿”位标识符}//万位if(i>wan){j=i%yi;j=j/wan;while(j){stak.push(j%10);++count;j/=10;}while(!stak.empty()){k=stak.top();stak.pop();while(k==0&&!stak.empty()&&stak.top()==0){--count;stak.pop();}if(k==0&&stak.empty()) break;result+=mymap1[k];if(count>0&&k!=0){result+=mymap2[count];--count;}else --count;}count=-1;if(i%yi)result+=mymap2[4];}//万位以下   if(i>0){ j=i%wan;while(j){stak.push(j%10);++count;j/=10;}while(!stak.empty()){k=stak.top();stak.pop();while(k==0&&stak.empty()&&stak.top()==0){--count;stak.pop();}if(k==0&&!stak.empty()) break;result+=mymap1[k];if(count>0&&k!=0){result+=mymap2[count];--count;}else --count;}}   result+="元整";return result;
}void main()
{long long a=0;string result;while(a!=-1){cout<<"请输入测试数字(输入-1退出):"<<endl;cin>>a;result=transform(a);cout<<result<<endl;}
}

c++实现中文大写数字转换相关推荐

  1. 把数字金额转换成中文大写数字

    //把数字金额转换成中文大写数字 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", &qu ...

  2. 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字

    一.序言:   工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!! ---- Nick.Peng 二.实现代码如下: #!/usr/ ...

  3. 数字与中文大写数字互转(5千万亿亿亿亿以上的数字也支持转换)

    来源是看到知乎上一个奇葩问题: 任意大小的数字字符串转中文 其实10万以内的整数转换大写也太简单,今天我们要实现的是任意大小的数字字符串转大写. 首先我们要保证4位数以内的转换函数,能够处理各种含&q ...

  4. 将一组阿拉伯数字转换成中文大写数字

    题目大概:  将一组阿拉伯数字转换成中文大写数字  52306 ==> 伍万贰千叁百零陆 我实现了将文件中的一组数字(每行为一个数)  形如: Java代码   25364 466932300 ...

  5. js如何实现阿拉伯数字转中文大写数字

    前言 最近有个需求,需要把阿拉伯数字转成中文大写数字,比如:100 转换成壹佰元.话不多说,撸起袖子就是干,做野! 规则 首先我们看看百度百科大写数字,对大写规则的描述: 中文大写数字到"元 ...

  6. 将阿拉伯数字转换为中文大写数字 —— pyhton实现

    将阿拉伯数字转换为中文大写数字 -- pyhton实现 在银行的日常业务中,常常需要用到将阿拉伯数字转换为中文大写数字的 功能.这次实验将编写一个程序,将用户输入的阿拉伯数字代表的金额,转换为大写数字 ...

  7. Python:阿拉伯数字转换为中文大写数字(金额的读数规则)

    萌萌帮班里同学做了一个python的编程作业,正好回顾一下python基础知识,以下源码和思考过程,代码全部原创. IDE:pycharm python版本:python3.7 ''' 实验目的:在银 ...

  8. XtraReport报表入库单数字转中文大写数字

    先看看打印入库单的效果图,看如下: 客户要求合计一行,要求大写中文数字.XtraReport报表是如何做出以上图的效果呢?因为是要把数字转成大写中文数字,得先准备数字转大写中文数字的函数.因网上有很多 ...

  9. 如何把excel里面中文小写数字转换成阿拉伯数字

    今天跟大家分享一下如何把excel里面中文小写数字转换成阿拉伯数字 1.打开要处理的Excel文件 2.将E列数据复制一份到F列中并选中 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信 ...

最新文章

  1. 【C++】C++11 STL算法(四):二分查找法(Binary search operations)、合并操作
  2. Hadoop SequenceFile BLOCK压缩类型写入数据机制
  3. python可以做什么工作好-学Python能找到什么工作?这4种工作最热门!
  4. Linux运维:现状、入门和未来之路
  5. Java-异常02 捕获和抛出异常
  6. python、setuptools 、pip
  7. cordova 调用java_Cordova调用原生方法的插件的编写
  8. minHash最小哈希原理
  9. LeetCode简单题目(#225 #226 #231 #232 #234)-5道(栈、队列、树、数字)
  10. 【题解】Atcoder ARC#76 F-Exhausted?
  11. java基础——李兴华视频
  12. ie tab chrome_将IE Tab集成添加到Google Chrome
  13. js——分享QQ、QQ空间、微信、微博
  14. 未成年人勿进 谨以献给1980~1990出生的人(一)
  15. 某电商平台数据分析报告(2)
  16. Oracle中多表查询再按时间倒序
  17. 程序员的12条经营分享
  18. html5基于Echarts制作3D炫酷世界地图地球制作,地图勾起动画,非常炫酷。
  19. switch双属性php,thinkphp-条件判断-SWITCH标签
  20. java如何判断回文数

热门文章

  1. VIDEO 黑边去除(是点击VIDEO出现的黑边)
  2. matlab学霸表白公式,《爱的数学公式》上线 帅气学霸的正确表白方式
  3. android apk安装工具,APK安装器下载-APK安装器手机版下载v2.9-1 安卓版-西西软件下载...
  4. Android平台蓝牙相关名词缩写
  5. html如何判断某个控件是否focus
  6. ICIP2020:VVC帧内编码复杂度分析
  7. 蓝桥杯求arccos值c语言,[蓝桥杯][算法提高VIP]求arccos值 (C语言代码)
  8. 基于SpringBoot实现文件上传功能(前端使用postman检查request)
  9. C语言读取文本文件到字符数组中,和源文件文本长度不一致
  10. Spring Boot+Vue全栈开发实战——花了一个礼拜读懂了这本书