600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 将阿拉伯数字转换为大写汉字

将阿拉伯数字转换为大写汉字

时间:2021-10-03 14:24:00

相关推荐

将阿拉伯数字转换为大写汉字

将阿拉伯数字转换为大写汉字,严谨写法:

学习链接

function toChineseNumeral(num) {let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']let unit = ['', '十', '百', '千', '万']num = parseInt(num)let getMillion = temp => {let strArr = temp.toString().split('').reverse()let newNum = ''for (let i = 0; i < strArr.length; i++) {newNum = (i == 0 && strArr[i] == 0 ? '' : i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? '' : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) + newNum}return newNum}let overWan = Math.floor(num / 10000)let noWan = num % 10000if (noWan.toString().length < 4) noWan = '0' + noWanreturn overWan ? getMillion(overWan) + '万' + getMillion(noWan) : getMillion(num)}

数字较少,可采用如下写法(还可简化):

function toChineseNumeral(num) {if (num < 0) {return}const numMapModel = new Map([[0, '零'],[1, '一'],[2, '二'],[3, '三'],[4, '四'],[5, '五'],[6, '六'],[7, '七'],[8, '八'],[9, '九'],[10, '十'],[11, '十一'],[12, '十二'],[13, '十三'],[14, '十四'],[15, '十五'],[16, '十六'],[17, '十七'],[18, '十八']])return numMapModel.get(num)}

简化如下:

function toChineseNumeral(num) {if (num < 0) {return}const changeArr = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '二十']return changeArr[num]}

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