js中将数字转成中文

2023-12-23 06:38:53


一、实现

如果要将数字101001000转换成中文的"十"、“一百"和"一千”,可以使用以下 JavaScript 代码实现:

function numberToChinese(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;
}
 
const num1 = 10;
const num2 = 100;
const num3 = 1000;
 
const chineseNum1 = numberToChinese(num1);
const chineseNum2 = numberToChinese(num2);
const chineseNum3 = numberToChinese(num3);
 
console.log(chineseNum1); // 十
console.log(chineseNum2); // 一百
console.log(chineseNum3); // 一千

在上述代码中,定义了 numberToChinese 函数,该函数接受一个数字作为参数并返回对应的中文表示。函数内部使用两个数组 chineseNumschineseUnits 分别保存中文数字和单位的文字表示。然后通过取余和除法运算来逐位地转换数字,并根据需要添加对应的中文单位。最后构建出完整的中文字符串并返回。

二、最后

本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。顺手来个三连击,点赞👍收藏💖关注?,一起加油?

文章来源:https://blog.csdn.net/u012804440/article/details/135163077
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。