1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| const getChineseNumber = num => { const arr1 = [ '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' ] const arr2 = [ '', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿' ] if (!num || isNaN(num)) return '零' const english = num.toString().split('') let result = '' for (const [ index, char ] of english.reverse().entries()) result = arr1[+char] + arr2[index] + result result = result .replace(/零(千|百|十)/g, '零') .replace(/十零/g, '十') result = result.replace(/零+$/, '') result = result.replace(/零+/g, '零') result = result .replace(/零亿/g, '亿') .replace(/零万/g, '万') result = result.replace(/^一十/g, '十') result = result.replace(/亿万/g, '亿') return result }
|