数字转换为中文

如下方法只 支持 1 到 99:

function numToChineseUppercase(num )  {

    num = Number(num);

    var upperCaseNumber = [      '零',      '一',      '二',      '三',      '四',      '五',      '六',      '七',      '八',      '九',      '十',      '百',      '千',      '万',      '亿'    ];

    var length = String(num).length;

    if (length == 1) {

      return upperCaseNumber[num];

    } else if (length == 2) {

      if (num == 10) {

        return upperCaseNumber[num];

      } else if (num > 10 && num < 20) {

        return '十' + upperCaseNumber[String(num).charAt(1)];

      } else {

     return (     upperCaseNumber[String(num).charAt(0)] +          '十' +          upperCaseNumber[String(num).charAt(1)].replace('零', '')        );

      }

    }

  }


改进了之后:

function changChineseNumber(num) {

      num = Number(num)

      var upperCaseNumber = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '百', '千', '万', '亿'];

      const len = String(num).length

      if (len === 1) {

        return upperCaseNumber[num]

      }

      // 10 | 19  20

      if (len === 2) {

        if (num === 10) return "十";

        if (String(num).charAt(1) === "0") {

          return upperCaseNumber[Number(String(num).charAt(0))] + "十";

        } else {

          return upperCaseNumber[Number(String(num).charAt(0))] + "十" + upperCaseNumber[Number(String(num).charAt(1))]

        }

      }

    }

推介一个数字中文转换库:https://github.com/cnwhy/nzh

$ npm install nzh --save

$ bower install nzh --save


。。。。99 以后的数字转换,可在上述基础上再兼容一下咯。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容