1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 数字金额转换为大写人民币汉字

数字金额转换为大写人民币汉字

时间:2019-04-14 01:59:40

相关推荐

数字金额转换为大写人民币汉字

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。