以下是一个简单的 JavaScript 函数来实现数字转中文:
function convertToChinese(num) { if(isNaN(num)) return "请输入数字"; const units = "个十百千万亿"; const chars = "零一二三四五六七八九"; let result = ""; let unitCount = 0; let lastIsZero = true; while(num > 0) { const digit = num % 10; if(digit !== 0) { result = chars[digit] + units[unitCount] + result; lastIsZero = false; } else if(!lastIsZero) { result = "零" + result; } unitCount ++; if(unitCount === 4 && result.charAt(0) !== "零") { result = "万" + result; unitCount = 0; } num = Math.floor(num / 10); } if(lastIsZero) { result = "零"; } return result; }
使用示例:
console.log(convertToChinese(123456789)); // 一亿二千三百四十五万六千七百八十九 console.log(convertToChinese(1001)); // 一千零一 console.log(convertToChinese(1000)); // 一千 console.log(convertToChinese(10100)); // 一万零一百 console.log(convertToChinese(10001)); // 一万零一
注意:此代码是简化的,如需更完整的代码可考虑单独编写处理亿以上的部分。