2018-10-18

作者: 月魂king | 来源:发表于2018-10-18 10:58 被阅读0次

    完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五

    const toChineseNum = (num) => {
      // 设置参数模板
      let a = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
      let b = ['', '十', '百', '千', '万']
      let arr = num.toString().split('').reverse(); // 将给定参数转为数组并将顺序取反
      let strArr = arr.map((item, index) => {
        if (index === 4 && parseInt(item) === 0) { // 如果index是4,并且该索引值是0则直接返回万
          return '万';
        }
        index = index > 4 ? index - 4 : index; // 如果索引值大于4则将其减4再从b模板取值
        return parseInt(item) === 0 ? '零' : a[item] + b[index];
      });
      return strArr.reverse().join('').replace(/(零(?=零))|(零$)|(零(?=万))/g, ''); // 最后在使用正则将表达式中多余的零去掉即可
    }
    

    相关文章

      网友评论

        本文标题:2018-10-18

        本文链接:https://www.haomeiwen.com/subject/uuejzftx.html