分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

JS实现将数字金额转换为大写人民币汉字

发布时间:2023-09-06 02:35责任编辑:赖小花关键词:暂无标签
function convertCurrency(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) { ???//超出最大处理数字 ???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;}

JS实现将数字金额转换为大写人民币汉字

原文地址:https://www.cnblogs.com/Super-scarlett/p/10559332.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved