阿拉伯数字转大写

DX (n) {
if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return '数据非法'
if (n === 0) {
return '零'
}
let unit = '万千百拾亿千百拾万千百拾元角分'
let str = ''
n += '00'
let p = n.indexOf('.')
if (p >= 0) n = n.substring(0, p) + n.substr(p + 1, 2)
unit = unit.substr(unit.length - n.length)
for (var i = 0; i < n.length; i++) {
str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i)
}
return str
.replace(/零(千|百|拾|角)/g, '零')
.replace(/(零)+/g, '零')
.replace(/零(万|亿|元)/g, '$1')
.replace(/(亿)万|壹(拾)/g, '$1$2')
.replace(/^元零?|零分/g, '')
.replace(/元$/g, '元整')
}
posted @ 2018-08-23 09:47  孤魂1715  阅读(246)  评论(0编辑  收藏  举报