1. 数字转为中文数字

function numberToChinese(num) {var AA = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十");var BB = new Array("", "十", "百", "仟", "萬", "億", "点", "");var a = ("" + num).replace(/(^0*)/g, "").split("."),k = 0,re = "";for (var i = a[0].length - 1; i >= 0; i--) {switch (k) {case 0:re = BB[7] + re;break;case 4:if (!new RegExp("0{4}//d{" + (a[0].length - i - 1) + "}$").test(a[0]))re = BB[4] + re;break;case 8:re = BB[5] + re;BB[7] = BB[5];k = 0;break;}if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0)re = AA[0] + re;if (a[0].charAt(i) != 0)re = AA[a[0].charAt(i)] + BB[k % 4] + re;k++;}if (a.length > 1) // 加上小数部分(如果有小数部分){re += BB[6];for (var i = 0; i < a[1].length; i++)re += AA[a[1].charAt(i)];}if (re == '一十')re = "十";if (re.match(/^一/) && re.length == 3)re = re.replace("一", "");return re;
}
let numTem = 1545644;
console.log(numberToChinese(numTem));  // 一百五十四萬五仟六百四十四

2. 数字转为中文大写金额

function changeToChineseMoney(Num) {//判断如果传递进来的不是字符的话转换为字符if (typeof Num == "number") {Num = new String(Num);};Num = Num.replace(/,/g, "") //替换tomoney()中的“,”Num = Num.replace(/ /g, "") //替换tomoney()中的空格Num = Num.replace(/¥/g, "") //替换掉可能出现的¥字符if (isNaN(Num)) { //验证输入的字符是否为数字//alert("请检查小写金额是否正确");return "";};//字符处理完毕后开始转换,采用前后两部分分别转换var part = String(Num).split(".");var newchar = "";//小数点前进行转化for (var i = part[0].length - 1; i >= 0; i--) {if (part[0].length > 10) {return "";//若数量超过拾亿单位,提示}var tmpnewchar = ""var perchar = part[0].charAt(i);switch (perchar) {case "0":tmpnewchar = "零" + tmpnewchar;break;case "1":tmpnewchar = "壹" + tmpnewchar;break;case "2":tmpnewchar = "贰" + tmpnewchar;break;case "3":tmpnewchar = "叁" + tmpnewchar;break;case "4":tmpnewchar = "肆" + tmpnewchar;break;case "5":tmpnewchar = "伍" + tmpnewchar;break;case "6":tmpnewchar = "陆" + tmpnewchar;break;case "7":tmpnewchar = "柒" + tmpnewchar;break;case "8":tmpnewchar = "捌" + tmpnewchar;break;case "9":tmpnewchar = "玖" + tmpnewchar;break;}switch (part[0].length - i - 1) {case 0:tmpnewchar = tmpnewchar + "元";break;case 1:if (perchar != 0) tmpnewchar = tmpnewchar + "拾";break;case 2:if (perchar != 0) tmpnewchar = tmpnewchar + "佰";break;case 3:if (perchar != 0) tmpnewchar = tmpnewchar + "仟";break;case 4:tmpnewchar = tmpnewchar + "万";break;case 5:if (perchar != 0) tmpnewchar = tmpnewchar + "拾";break;case 6:if (perchar != 0) tmpnewchar = tmpnewchar + "佰";break;case 7:if (perchar != 0) tmpnewchar = tmpnewchar + "仟";break;case 8:tmpnewchar = tmpnewchar + "亿";break;case 9:tmpnewchar = tmpnewchar + "拾";break;}var newchar = tmpnewchar + newchar;}//小数点之后进行转化if (Num.indexOf(".") != -1) {if (part[1].length > 2) {// alert("小数点之后只能保留两位,系统将自动截断");part[1] = part[1].substr(0, 2)}for (i = 0; i < part[1].length; i++) {tmpnewchar = ""perchar = part[1].charAt(i)switch (perchar) {case "0":tmpnewchar = "零" + tmpnewchar;break;case "1":tmpnewchar = "壹" + tmpnewchar;break;case "2":tmpnewchar = "贰" + tmpnewchar;break;case "3":tmpnewchar = "叁" + tmpnewchar;break;case "4":tmpnewchar = "肆" + tmpnewchar;break;case "5":tmpnewchar = "伍" + tmpnewchar;break;case "6":tmpnewchar = "陆" + tmpnewchar;break;case "7":tmpnewchar = "柒" + tmpnewchar;break;case "8":tmpnewchar = "捌" + tmpnewchar;break;case "9":tmpnewchar = "玖" + tmpnewchar;break;}if (i == 0) tmpnewchar = tmpnewchar + "角";if (i == 1) tmpnewchar = tmpnewchar + "分";newchar = newchar + tmpnewchar;}}//替换所有无用汉字while (newchar.search("零零") != -1)newchar = newchar.replace("零零", "零");newchar = newchar.replace("零亿", "亿");newchar = newchar.replace("亿万", "亿");newchar = newchar.replace("零万", "万");newchar = newchar.replace("零元", "元");newchar = newchar.replace("零角", "");newchar = newchar.replace("零分", "");if (newchar.charAt(newchar.length - 1) == "元") {newchar = newchar + "整"}return newchar;
}
let money = 15455605;
console.log(changeToChineseMoney(money));  // 壹仟伍佰肆拾伍万伍仟陆佰零伍元整

js工具函数之数字转为中文数字和大写金额相关推荐

  1. JS之数字转为中文数字

    changeNumToHan(num) {var arr1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']var arr2 = ['', '十 ...

  2. js收据、发票等表格数据格式化,js把数字转为中文大写

    1.表格金额格式化 /*** 把金额转为发票.收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角.分的位数)* 例 ...

  3. 用于业务的精炼js工具函数(浏览器环境)

    js工具函数(浏览器环境) github : github.com/Javison666/- 引用库,后续 $fn 直接当作全局进行使用 import $fn from 'jj-browser-fn' ...

  4. Java 数字转中文数字(会计格式与非会计格式,暂不包含小数)

    数字转中文数字(123–>"壹佰贰拾叁"."一百二十三") 直接上代码,注释完整,各位网友如有其它好的方案,麻烦留言探讨,万分感谢! package fu ...

  5. c# 数字转换为中文数字

    //数字转换为中文public string GetCountRefundInfoInChanese(string inputNum){string[] intArr = { "0" ...

  6. 使用Java 编写将阿拉伯数字转为中文数字的代码

    优化: 使用java将数字转化为中文汉字_java数字转中文_javaerly的博客-CSDN博客 public static void convertNumToCN(Long num){String ...

  7. Excel如何将阿拉伯数字转为中文数字

    一. 1.如下图,A列为阿拉伯数字,现在想将其转变为中文数字. 2.将A列数据复制到B列中 3.点击下图选项(Excel工具箱,百度即可下载安装,本文不做详细解说) 4.点击[数值] 5.选择[中文数 ...

  8. 20 个 JS 工具函数助力高效开发

    日常开发中,面对各种不同的需求,我们经常会用到以前开发过的一些工具函数,把这些工具函数收集起来,将大大提高我们的开发效率. 1.校验数据类型 export const typeOf = functio ...

  9. 【JS】1531- 20 个 JS 工具函数助力高效开发

    前言 日常开发中,面对各种不同的需求,我们经常会用到以前开发过的一些工具函数,把这些工具函数收集起来,将大大提高我们的开发效率. 1.校验数据类型 export const typeOf = func ...

最新文章

  1. Ubuntu16.04LTS安装集成开发工具IDE: CodeBlocks 和Eclipse-cdt
  2. python爬取电影网站信息并写入文件
  3. 如何更规范化编写 Java 代码
  4. Apache虚拟目录和多端口多主机名配置
  5. 避开Google Voice Search利用Google Speech API实现Android语音识别
  6. dbnetlib sqlserver不存在或拒绝访问_部署IIS+PHP+SQL server环境
  7. 【有限元分析】ANSYS workbench CFX风力机外流场计算
  8. Python对话框使用
  9. Matlab取整函数之Floor\fix\round\ceil取余函数rem\mod
  10. @Value 注解用法
  11. android调用文件管理打开某个路径,android – 在文件管理器中打开特定文件夹以供查看...
  12. 使用阿里云创建个人云盘
  13. ESP32产品系列之智能插座(一),框架及硬件设计
  14. 关于ADB需要知道的一些知识
  15. JustSoso笔记
  16. linux上传网页文件大小,Apache启用GZIP压缩网页传输方法
  17. android RemoteViews解析
  18. MIPS 、DMIPS、MFLOPS、petaflop、teraflop
  19. 四个适合空闲时间自我提升的软件
  20. opencv项目7---智能识别二维码和条形码

热门文章

  1. WordPress自适应主题Puock v2.4/白天暗夜高颜值无刷新加载首页支持三种布局
  2. 软件体系结构---基础知识点(5)
  3. 传统热度算法与AI技术的结合:探索更精准的热点分析方法
  4. python中temp是什么意思_pythontemp是什么
  5. 拜年啦!最受科研人员喜爱的春联来了!
  6. 如何在Ubuntu16.04进行直播的完美教程(OBS Studio 21.1安装)
  7. makefile 学习记录(一)简单的两个C文件编译
  8. 导航上显示某个地点已关闭什么意思_牢记!想要玩好iPhone手机,6个关闭、4个开启...
  9. 分享四个纯小白可做的副业项目,每天两三个小时就可操作
  10. 使用CSS渐变创建拉丝金属字母