数字转汉字
const convertToChinese = (num: any) => {
var chineseNums = [
"零",
"一",
"二",
"三",
"四",
"五",
"六",
"七",
"八",
"九",
]; // 定义中文数字对应关系
if (isNaN(num)) return ""; // 如果输入不是有效的数字则返回空字符串
num += ""; // 将数字转化为字符串类型
var result = ""; // 存放结果的变量
for (var i = 0; i < num.length; i++) {
var digit = parseInt(num[i]); // 获取当前位上的数字
if (digit !== 0 || !result) {
// 只在非零位或者第一次迭代时添加单位
result += chineseNums[digit] + "十"; // 根据数字选择相应的中文数字并添加"十"作为单位
if (!result && digit === 1) {
// 处理特殊情况:若该位为1,需要添加"十"而不是"一十"
result += "十";
} else if (digit > 1) {
// 其他情况直接添加"十"
result += "十";
}
}
if (parseInt(num[i]) % 2 === 0) {
// 判断奇偶性来确定是否添加"百"、"千"等单位
switch (num.length - i - 1) {
case 4:
result += "万";
break;
case 8:
result += "亿";
break;
default:
break;
}
}
}
return result;
}