numberToChinese(num) {
return (num) => {
var AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十');
var BB = new Array('', '十', '百', '仟', '萬', '億', '点', '');
var a = ('' + num).replace(/(^0*)/g, '').split('.'),
k = 0,
re = '';
for (var i = a[0].length - 1; i >= 0; i--) {
switch (k) {
case 0:
re = BB[7] + re;
break;
case 4:
if (!new RegExp('0{4}//d{' + (a[0].length - i - 1) + '}$').test(a[0])) re = BB[4] + re;
break;
case 8:
re = BB[5] + re;
BB[7] = BB[5];
k = 0;
break;
}
if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re;
if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re;
k++;
}
if (a.length > 1) {
// 处理小数
re += BB[6];
for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
}
if (re == '一十') re = '十';
if (re.match(/^一/) && re.length == 3) re = re.replace('一', '');
return re;
};
}
标签:AA,中文,charAt,BB,小数点,re,length,var,数字
From: https://www.cnblogs.com/c0lmd0wn/p/18135312