以下是一个示例的 JavaScript 函数,可以将数字转换为中文:

function numberToChinese(num) {
  var chineseNum = '';
  var numbers = '零一二三四五六七八九';
  var units = ['', '十', '百', '千', '万'];

  // 将数字转换为字符串,并倒序排列
  var numStr = num.toString().split('').reverse().join('');

  // 遍历每个数字
  for (var i = 0; i < numStr.length; i++) {
    var digit = parseInt(numStr[i]);
    var unit = units[i % 5];

    // 如果这个数字是 0,且前一个数字不是 0,就加上“零”
    if (digit === 0 && chineseNum !== '' && chineseNum[0] !== '零') {
      chineseNum = '零' + chineseNum;
    }

    // 如果这个数字不是 0,就加上数字和单位
    if (digit !== 0) {
      chineseNum = numbers[digit] + unit + chineseNum;
    }
  }

  // 如果最后一位是“零”,就去掉
  if (chineseNum[chineseNum.length - 1] === '零') {
    chineseNum = chineseNum.slice(0, -1);
  }

  return chineseNum;
}

下面是一些示例用法:

console.log(numberToChinese(0));    // 零
console.log(numberToChinese(1234)); // 一千二百三十四
console.log(numberToChinese(1000)); // 一千
console.log(numberToChinese(100));  // 一百
console.log(numberToChinese(10));   // 十
console.log(numberToChinese(5));    // 五
js 数字转中文

原文地址: https://www.cveoy.top/t/topic/eus 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录