版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/p3118601/article/details/81393558
var alabo = function (num) {
if (isNaN(Number(num))) {
return;
};
let tmpnewchar = ''; // 最后结果
let numStr = Number(num).toString().split(".")[0]; // 数字转化字符串
if (/^-/.test(numStr)) {
tmpnewchar = '负';
numStr = numStr.replace(/^-/g,'');
};
let bigNum = ['亿', '万', '千', '百', '十']; // 定义单位数组
let bigNumSlice = []; // 定义被截取后的单位数组
let sliceStar = numStr.length - 1; // 定义被截取的位置
let numAry = []; // 定义数字字符串分隔成数组
let change = function (num) {
let no = '';
switch (num) {
case "0":
no = "零"; break;
case "1":
no = "一"; break;
case "2":
no = "二"; break;
case "3":
no = "三"; break;
case "4":
no = "四"; break;
case "5":
no = "五"; break;
case "6":
no = "六"; break;
case "7":
no = "七"; break;
case "8":
no = "八"; break;
case "9":
no = "九"; break;
};
return no;
};
if (sliceStar > 0) {
numAry = numStr.replace(/0+$/g,'').split("");
bigNumSlice = bigNum.slice(-sliceStar);
numAry.map(function (value, index) {
if (bigNumSlice[index] && change(value) != '零') {
tmpnewchar = tmpnewchar + change(value) + bigNumSlice[index]
} else {
tmpnewchar = tmpnewchar + change(value)
};
});
if (/零$/.test(tmpnewchar)) {
tmpnewchar = tmpnewchar.replace(/零$/g, '');
};
if (/零+/.test(tmpnewchar)) {
tmpnewchar = tmpnewchar.replace(/零+/g, '零');
};
if (/^一十/.test(tmpnewchar)) {
tmpnewchar = tmpnewchar.replace(/^一十/g,'十');
};
} else {
tmpnewchar = change(numStr)
};
return tmpnewchar;
};