数字123转为中文一二三

2023-12-25  本文已影响0人  苏苡

1. 类似将 2022 转成 二千零二十二

// 处理数据方法    21 ----> 二十一 
numberToChineseUnits(num) {
    // 定义转换的中文子
   const chineseNums = [ "零", "一", "二", "三", "四", "五", "六", "七", "八", "九",];
   const chineseUnits = ["", "十", "百", "千"];
   if (num === 0) {
      return chineseNums[0];
   }
   let chineseStr = "";
   let unitIndex = 0;
   while (num > 0) {
     const digit = num % 10;
     if (digit !== 0) {
        // 处理非零数字
        chineseStr = chineseNums[digit] + chineseUnits[unitIndex] + chineseStr;
     } else if (chineseStr.charAt(0) !== chineseNums[0]) {
        // 处理连续的零,只保留一个零
        chineseStr = chineseNums[0] + chineseStr;
      }
      num = Math.floor(num / 10);
      unitIndex++;
    }
    return chineseStr;
 },


let num = this.numberToChineseUnits('2022')
console.log(num) // 二千零二十二

1. 类似将 2022 转成 二零二二

// 处理数据方法    21 ----> 二一 
numberToChinese(num) {
    // 定义转换的中文子
   const chineseNums = [ "零", "一", "二", "三", "四", "五", "六", "七", "八", "九",];
   if (num === 0) {
      return chineseNums[0];
   }
   let chineseStr = "";
   let unitIndex = 0;
   while (num > 0) {
     const digit = num % 10;
     if (digit !== 0) {
        // 处理非零数字
        chineseStr = chineseNums[digit] + chineseStr;
     } else if (chineseStr.charAt(0) !== chineseNums[0]) {
        // 处理连续的零,只保留一个零
        chineseStr = chineseNums[0] + chineseStr;
      }
      num = Math.floor(num / 10);
      unitIndex++;
    }
    return chineseStr;
 },

let num = this.numberToChinese('2022')
console.log(num) // 二零二二
上一篇下一篇

猜你喜欢

热点阅读