CString GetBigMoney(double dMoney) { //这里没有对超出部份作异常,使用者要注意(现实中不会出现如此巨大的金额数) CString str_list; //大写列表"壹百零壹元叁角贰分" CString str_small2; //格式化后的金额小数 str_small2.Format(_T("%.2f"),dMoney);//101.32 int j = str_small2.GetLength(); //待转换两位小数字符串的长度 5位 if(j > 16) { return _T("出错!"); } wchar_t * char_small = str_small2.GetBuffer(); //格式化的小数转换成字符串"101.32" AddString(char_small,j,0,&str_list); if(_T("元零")==str_list.Mid(str_list.GetLength()-2)) str_list.Replace(_T("元零"),_T("元整")); if(_T("角零") == str_list.Mid(str_list.GetLength()-2)) str_list.Replace(_T("角零"),_T("角")); if(_T("元零")==str_list.Left(2)) str_list.Delete(0,2); str_list.Replace(_T("零元"),_T("元")); if(_T("元整") == str_list) str_list = _T("零元整"); return str_list; } bool AddString(wchar_t* wchar_small, int j, int current_pos, CString* str_list) { CString str_temp1[] = { _T("零"), _T("壹"), _T("贰"), _T("叁"), _T("肆"), _T("伍"), _T("陆"), _T("柒"), _T("捌"), _T("玖")}; CString str_temp2[] = { _T("分"), _T("角"), _T(""), _T("元"), _T("拾"), _T("佰"), _T("仟"), _T("万"), _T("拾"), _T("佰"), _T("仟"), _T("亿"), _T("拾"), _T("佰"), _T("仟"), _T("万")}; int i=current_pos;//当前位置 if(i < j) { CString single_num_str_temp1;// "1" int single_num1;// 1 CString single_str1; // "壹"... CString single_str2; // "分". single_num_str_temp1.Format(_T("%c"),wchar_small[i]); single_num1 = _wtoi(single_num_str_temp1);//当前位置的阿拉伯数字 if((0 == single_num1)&&(_T(".")!=single_num_str_temp1)) { //等于0并且前一位已经是零则 if(_T("零") == str_list->Right(1)) { if(12 == j-i) { *str_list = *str_list + _T("亿"); str_list->Replace(_T("零亿"),_T("亿")); } if(8 == j-i) { *str_list = *str_list + _T("万"); str_list->Replace(_T("零万"),_T("万")); } if(4 == j-i) { *str_list = *str_list + _T("元"); str_list->Replace(_T("零元"),_T("元")); } } else//等于0但前一位不是零 { if(12 == j-i) { *str_list = *str_list + _T("亿"); } else { if(8 == j-i) { *str_list = *str_list + _T("万"); } else { if(4 == j-i) { *str_list = *str_list + _T("元"); } else { if(3 != j-i) { *str_list = *str_list + _T("零"); } } } } } *str_list = *str_list + _T("零"); } else { //否则显示0 if(_T(".")==single_num_str_temp1) { single_str1.Format(_T("")); single_str2.Format(_T("%s"),str_temp2[j-i-1]); } else { single_str1.Format(_T("%s"),str_temp1[single_num1]); single_str2.Format(_T("%s"),str_temp2[j-i-1]); } *str_list = *str_list + single_str1 + single_str2; } i++; AddString(wchar_small,j,i,str_list);//函数嵌套 str_list->Replace(_T("零零"),_T("零")); str_list->Replace(_T("零亿"),_T("亿")); str_list->Replace(_T("零万"),_T("万")); str_list->Replace(_T("零千"),_T("千")); str_list->Replace(_T("亿万"),_T("亿")); return true; } else { return false; } }

小写金额转大写c++相关推荐

  1. SQL人民币小写金额转大写

    --1.人民币小写金额转大写(第一版) ==================================================================== -- Title: 人 ...

  2. 人民币小写金额转大写

    -- ==================================================================== -- Title: 人民币小写金额转大写 -- Auth ...

  3. JQ实现小写金额转大写

    JQ代码如下: <script>//小写金额转大写function num_change(money) {//汉字的数字var cnNums = new Array('零', '壹', ' ...

  4. JS人民币小写金额转换为大写(没毛病)

    /** * 人民币小写金额转换为大写 */ export const digitUppercase = (n) => {let fraction = ['角', '分'] let digit = ...

  5. (转)人民币小写金额转大写(SQL)

    以下转自 http://www.qeqoo.com/dev/database/dbms/3216.html -- =========================================== ...

  6. oracle人民币转大写,Oracle 小写金额转换为大写

    在开发EBS的合同报表打印的时候需要将小写金额转换为大写. 如下是本人自己写的转换函数. 主要思路:先获取小数点位置,在区分整数与小数点处理,根据位数和数字组合读取金额. 最后再处理特殊显示部分. / ...

  7. 【叶子函数分享十八】人民币小写金额转大写

    --1.人民币小写金额转大写(第一版) ==================================================================== -- Title: 人 ...

  8. Java小写金额转换大写与金额比对(支持繁体大写金额)

    package com.gerrard.pmc.util;import java.util.HashMap; import java.util.Map;import org.apache.common ...

  9. js实现小写金额转大写

    公共方法: /** 小写金额转大写金额 */dealBigMoney(n) {if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) { return '数据非法' }let u ...

  10. 会计金额格式化(千分位,小写金额转大写)

    千分位 export function numberToCurrencyNo(value) {if (!value) return 0// 获取整数部分const intPart = Math.tru ...

最新文章

  1. python解压文件_使用Python实现文件压缩和解压
  2. 数组中查找並返回数组_java数组查找常见情况
  3. matlab 数值解 期权顶级啊,潮盈期权院高胜率交易技巧系列之二----期权交易策略及基于MATLAB统计套利介绍...
  4. Pytorch——搭建深度神经网络的基本流程
  5. 浏览器同源与跨域问题总结
  6. ENVI/IDL编程:相对辐射校正-直方图匹配
  7. stm32正点原子和普中或是野火哪个好?
  8. html中的embed标签属性,html中Embed标签的语法和属性设置
  9. 夜神模拟器如何设置自动代理
  10. 记又一次面试失败的经历
  11. IDEA中项目编码格式设置
  12. OpenCV之图像的载入、显示与输出
  13. useCallback包裹函数,但是使用到的外部变量一直是最开始的值
  14. 使用 Web Speech API 在浏览器中朗读文本
  15. 信息安全-防火墙技术原理与应用
  16. 一、考研英语阅读能力高效能提升原则案例剖析-考研英语一2019年完型填空-如何走出迷失的森林(待续)
  17. 求职经历--ThoughtWorks
  18. webstorm和网站制作
  19. 电厂计算机房设计规范,发电厂消防设计规范.docx
  20. 【JS】设计并实现“恺撒密码”

热门文章

  1. linux磁盘管理相关命令
  2. ios怎么打开c语言文件操作函数,C++ ofstream和ifstream详细用法以及C语言的file用法...
  3. 电脑插上串口,鼠标乱飘乱动
  4. 百度网盘ubuntu版deb包安装
  5. Vue项目生成二维码
  6. win7 64位系统下 Logitech(罗技) M555b蓝牙鼠标断线解决办法
  7. 联合投稿其乐融融 抖音共创助你大显身手
  8. 奇安信行业安全研究中心
  9. 济南python编程培训机构排名
  10. SIGHUP信号与控制终端