js 数字转中文 阿拉伯数字转中文大写
最近一直在写前端
遇到一个数字转中文的记录一下
需求 讲阿拉伯数字转换为中文的 一 二 三 比如
123 => 一百二十三
看代码:
let toChinesNum = (num) => {
let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
let unit = ["", "十", "百", "千", "万"];
num = parseInt(num);
let getWan = (temp) => {
let strArr = temp.toString().split("").reverse();
let newNum = "";
for (var i = 0; i < strArr.length; i++) {
newNum = (i == 0 && strArr[i] == 0 ? "" : (i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i]))) + newNum;
}
return newNum;
}
let overWan = Math.floor(num / 10000);
let noWan = num % 10000;
if (noWan.toString().length < 4) { noWan = "0" + noWan; }
return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
}
如果要转换成大写的中文数字 将上面的 一 二 三 数组内容改为 壹 贰 叁这样的就可以了