1. 前言
- 单个功能一篇发展也方便自己使用
- 尤其是是序号性质的阿拉伯数字转汉语比较常见
2. 代码
/*
* @desc 序号阿拉伯数字转汉语
* @param num 转换数字
*/
const digitaltToChinese = (num)=> {
var arr1 = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];
var arr2 = [
"",
"十",
"百",
"千",
"万",
"十",
"百",
"千",
"亿",
"十",
"百",
"千",
"万",
"十",
"百",
"千",
"亿",
];
if (!num || isNaN(num)) return "零";
var english = num.toString().split("");
var result = "";
for (var i = 0; i < english.length; i++) {
var des_i = english.length - 1 - i; // 倒序排列设值
result = arr2[i] + result;
var arr1_index = english[des_i];
result = arr1[arr1_index] + result;
}
// console.log('res:', result)
result = result.replace(/零(千|百|十)/g, "零").replace(/十零/g, "十"); // 将【零千、零百】换成【零】 【十零】换成【十】
result = result.replace(/零+/g, "零"); // 合并中间多个零为一个零
result = result.replace(/零亿/g, "亿").replace(/零万/g, "万"); // 将【零亿】换成【亿】【零万】换成【万】
result = result.replace(/亿万/g, "亿"); // 将【亿万】换成【亿】
result = result.replace(/零+$/, ""); // 移除末尾的零
// 将【一十】换成【十】
result = result.replace(/^一十/g, "十");
return result;
},
参考资料
初心
我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落
的崛起;
共勉
网友评论