javascript 数字转中文大写

您所在的位置:网站首页 17838大写 javascript 数字转中文大写

javascript 数字转中文大写

#javascript 数字转中文大写| 来源: 网络整理| 查看: 265

背景

有时候业务需要做大写【一二三四五六七八九十】的标题,那对于js普通的数据结构排序是按【0123456789】。所以我们需要做一些数字的转换,实现小写转大写才能满足业务需求。

js实现数字转大写 //阿拉伯数字转大写,整数转大写 const numToCapital = (num, type = '') => { if (!num) return 0 const strNum = Number((num + '').replace(/[,,]*/g, '')) + '' // 记录字符 num = parseInt(Number(strNum)) // 转为整数, let capitalAr = '零一二三四五六七八九十' let unitAr = ['十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千'] if (type) { capitalAr = '零壹贰叁肆伍陆柒捌玖拾' unitAr = ['拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟'] // 单位 } const resultAr = [] // 记录结果,后边json.in就可 let index = strNum.length - 1 //记录位数 let idx = 0 // 记录单位 let percent = 10 const turnNum = (num, percent, index) => { const unit = num / percent const capital = capitalAr[Number(strNum[index])] if (unit < 1) { resultAr.push(capital) // 出现11【一十一】这种情况 if (Number(strNum[index]) === 1 && (strNum.length === 2 || strNum.length === 6 || strNum.length === 10)) { resultAr.pop() } return false //结束递归 } else { if (capital === '零') { // 万和亿单位不删除 if (!['万', '亿'].includes(resultAr[resultAr.length - 1])) { resultAr.pop() } // 前面有零在删掉一个零 if (resultAr[resultAr.length - 1] === '零') { resultAr.pop() } } resultAr.push(capital) // 过滤存在【零万】【零亿】这种情况 if (['万', '亿'].includes(resultAr[resultAr.length - 2]) && capital === '零') { resultAr.pop() } // 过滤【1亿万】这种情况 if (resultAr[0] === '万' && resultAr[1] === '亿') { resultAr.shift() } // 末尾【零】删掉 if (resultAr[0] === '零') { resultAr.pop() } resultAr.push(unitAr[idx++]) turnNum(num, percent * 10, --index) } } turnNum(num, percent, index) return resultAr.reverse().join('') } // console.log(numToCapital(1512345672, 'capital')) // 壹拾伍亿壹仟贰佰叁拾肆万伍仟陆佰柒拾贰 console.log(numToCapital('125,0000,0000')) //一百二十五亿 console.log(numToCapital('10,0000')) //十万 console.log(numToCapital('12,0000')) //十二万 console.log(numToCapital('10,0010')) //十万零一十 console.log(numToCapital('100,1000', true)) //壹佰万壹仟 console.log(numToCapital('0010')) //十 复制代码


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3