function changeNumMoneyToChinese(money) {
  var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字
  var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
  var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
  var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
  var cnInteger = "整"; //整数金额时后面跟的字符
  var cnIntLast = "元"; //整型完以后的单位
  var maxNum = 999999999999999.9999; //最大处理的数字
  var IntegerNum; //金额整数部分
  var DecimalNum; //金额小数部分
  var ChineseStr = ""; //输出的中文金额字符串
  var parts; //分离金额后用的数组,预定义
  if (money == "") {
  return "";
  }
  money = parseFloat(money);
  if (money >= maxNum) {
  alert('超出最大处理数字');
  return "";
  }
  if (money == 0) {
  ChineseStr = cnNums[0] + cnIntLast + cnInteger;
  return ChineseStr;
  }
  money = money.toString(); //转换为字符串
  if (money.indexOf(".") == -1) {
  IntegerNum = money;
  DecimalNum = '';
  } else {
  parts = money.split(".");
  IntegerNum = parts[0];
  DecimalNum = parts[1].substr(0, 4);
  }
  if (parseInt(IntegerNum, 10) > 0) { //获取整型部分转换
  var zeroCount = 0;
  var IntLen = IntegerNum.length;
  for (var i = 0; i < IntLen; i++) {
  var n = IntegerNum.substr(i, 1);
  var p = IntLen - i - 1;
  var q = p / 4;
  var m = p % 4;
  if (n == "0") {
  zeroCount++;
  } else {
  if (zeroCount > 0) {
  ChineseStr += cnNums[0];
  }
  zeroCount = 0; //归零
  ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
  }
  if (m == 0 && zeroCount < 4) {
  ChineseStr += cnIntUnits[q];
  }
  }
  ChineseStr += cnIntLast;
  //整型部分处理完毕
  }
  if (DecimalNum != '') { //小数部分
  var decLen = DecimalNum.length;
  for (var i = 0; i < decLen; i++) {
  var n = DecimalNum.substr(i, 1);
  if (n != '0') {
  ChineseStr += cnNums[Number(n)] + cnDecUnits[i];
  }
  }
  }
  if (ChineseStr == '') {
  ChineseStr += cnNums[0] + cnIntLast + cnInteger;
  } else if (DecimalNum == '') {
  ChineseStr += cnInteger;
  }
  return ChineseStr;
  }

转载于:https://www.cnblogs.com/xiaoer-heidou/p/4961669.html

0到9的数字替换成零 到 玖 的 大写汉字的函数相关推荐

  1. 数字金额转换大写 先写个完整的然后将如零拾替换成零

    /*** 数字金额转换大写 先写个完整的然后将如零拾替换成零* @param n 数字* @return 中文大写数字*/public static String digitUppercase(dou ...

  2. EasyUI-DataGrid下数据库数字替换成文本信息显示以及不同状态显示不同颜色

    EasyUI-DataGrid下数据库数字替换成文本信息显示 在使用easyui作为开发框架的时候,经常遇到一些常见的问题,比如某项数据名,在数据库里存的是0和1等,然后显示在页面上的时候,需要显示成 ...

  3. 把0到9的数字转换成电话按钮上的字母

    问题 给定一个包含[0,9]中数字的整数数组,任务是打印所有可能的字母 数字可以表示的组合,数字到字母的映射(就像在电话按钮上)正在被跟踪,注意0和1不映射到任何字母.所有映射如下图所示: 写一个程序 ...

  4. 4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。

    –Python 4.编写程序,根据用户输入的数字转换成相应的中文的大写数字.例如,1.23转换为"壹点贰叁". 问题遇到的现象和发生背景 输入含有0就不会输出 问题相关代码 imp ...

  5. 怎么把数字替换成空格_剑指offer04:替换空格

    ❝ 你自己的代码如果超过6个月不看,再看的时候也一样像是别人写的.-- 小浩 ❞ 替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成 %20.例如,当字符串为 We Are Happy ...

  6. 怎么把数字替换成空格_Excel中带单位后缀的数字如何计算?

    在日常统计的Excel工作表中一般带了单位的数字是没办法直接进行计算的,需要进行一定的操作才可以转换成可以计算的模式.今天小编来给大家讲解一下具体的操作方法,快来和我一起学习一下吧! 工具/原料 电脑 ...

  7. python数字替换成中文replace_Python3字符串替换replace(),translate(),re.sub()

    Python3的字符串替换,这里总结了三个函数,replace()和translate()和re.sub() replace() python 中的 replace() 方法把字符串中的 old(旧字 ...

  8. python输入数字替换为中文_Python把中文数字替换成阿拉伯数字

    #coding=utf-8 #By Gin #2020/7/17 #Rev 02 import os import re ch_dict = {u'零':0, u'一':1, u'二':2, u'三' ...

  9. 用python批量把小说编号由大写数字替换成阿拉伯数字

    import re pattern = re.compile(u'第(.*)章')mulu=u'''第一千五百四十六章 道韵高低 第一千五百四十五章 好兄弟 第一千五百四十四章 臭不要脸 第一千五百四 ...

最新文章

  1. 《从零开始学Swift》学习笔记(Day 47)——final关键字
  2. 构建稳固的、可升缩的CSS框架的八大原则
  3. Dell R240 1U机架式服务器 资料
  4. mtk Android 编译命令自定义--添加版本号
  5. 多系统权限设计(一)
  6. SringBoot项目使用maven打包,使用docker部署,并且使用thymeleaf作为模板引擎遇到的问题
  7. linux添加x权限,Linux 7 的 rc.local 文件需要 添加 +x 权限才会自动执行
  8. 洛达官方软件检测_关于购买HQB洛达耳机的你需要知道的!!!
  9. ArcGIS制图表达Representation实战篇3-控制点
  10. win7系统修复工具_系统哥教你如何修复win7启动引导的方法
  11. 服装制版师用软件代替手工_楚天都市报_多媒体报
  12. 计算机科学顶级国际会议,顶级会议推荐:计算机科学理论会议5条
  13. wifi(华硕天选2)找不到怎么办
  14. Vmware Ubuntu虚拟机提示:无法连接虚拟设备 sata0:1,因为主机上没有相对应的设备,解决办法
  15. 扬声器程序设计(微机原理实验四)
  16. # JAVA实现评论功能设计开发
  17. .Net深入学习:序列化
  18. c语言中while中的判断语句为感叹号x时是什么意思?
  19. js根据日期生成批次号
  20. 获取文件哈希值_图解:什么是哈希?

热门文章

  1. 计算机网络用英语怎么表达,网络用英语怎么说
  2. Axure RP Pro 8.1.0.3377中文破解正式版(附注册码)
  3. MySQL数据库初体验
  4. IBM X3550 m4 微码升级
  5. 求助 TM1638不能读回按键值
  6. 关于Java调用dll文件的一系列问题(持续更新)
  7. vue 关于清除浏览器全部cookie的问题及解决方法(绝对有效)
  8. 高性能本地缓存Ristretto(二)——过期策略
  9. LM2596的肖特基二极管选择的注意点
  10. 信息技术优质课评价标准