js数字转中文

// 定义常量数组,用于存储中文数字和单位  
const chnNumChar = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];  
const chnUnitSection = ['', '万', '亿', '万亿'];  
const chnUnitChar = ['', '拾', '佰', '仟'];  
  
// 如果数字为0,则直接返回对应的中文数字  
if (num == 0) {  
  return chnNumChar[0];  
}  
  
// 将数字分为整数部分和小数部分  
let intPart = Math.floor(num);  
let decPart = num - intPart;  
  
// 定义存储整数部分和小数部分的字符串变量  
let intPartStr = '';  
let decPartStr = '';  
  
// 如果整数部分不为0,则进行四位数的转换  
if (intPart != 0) {  
  intPartStr = '';  
  while (intPart > 0) {  
    // 计算当前四位数的单位(万、亿、万亿)  
    let section = Math.floor(intPart / 10000);  
    // 减去当前四位数的值  
    intPart -= section * 10000;  
    // 如果单位大于0,则在字符串前加上对应的单位  
    if (section > 0) {  
      intPartStr = chnUnitSection[section] + intPartStr;  
    } else {  
      intPartStr = intPartStr;  
    }  
    // 将当前四位数的最后一位加入字符串  
    intPartStr = chnUnitChar[intPart % 10] + intPartStr;  
  }  
} else {  
  // 如果整数部分为0,则直接返回对应的中文数字  
  intPartStr = chnNumChar[0];  
}  
  
// 如果小数部分大于0,则进行小数点的转换  
if (decPart > 0) {  
  decPartStr = chnNumChar[decPart.toString().split('.')[1]] + '点';  
} else {  
  decPartStr = '';  
}  
  
// 将整数部分和小数部分的字符串拼接起来,并返回  
return intPartStr + decPartStr;

 

posted @ 2023-06-26 16:00  樱桃树下的约定  阅读(684)  评论(0编辑  收藏  举报
返回顶端