数字货币转为中文大写

function convertToChineseYuan(num) {
    let strOutput = '';
    let strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
    num += '00';
    const intPos = num.indexOf('.');
    if (intPos >= 0) {
        num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
    }
    strUnit = strUnit.substr(strUnit.length - num.length);
    for (let i = 0; i < num.length; i++) {
        strOutput += '零壹贰叁肆伍陆柒捌玖'.charAt(num.charAt(i)) + strUnit.charAt(i);
    }
    return strOutput.replace(/零(仟|佰|拾|角)/g, '零').replace(/(零)+/g, '零').replace(/零(万|亿|元)/g, '$1').replace(/(亿)万|壹(拾)/g, '$1$2').replace(/^元零?|零分/g, '').replace(/元$/g, '元整');
}

console.log(convertToChineseYuan(123456.78)); 
// '拾贰万叁仟肆佰伍拾陆元柒角捌分'
posted @ 2024-05-25 23:10  _clai  阅读(2)  评论(0编辑  收藏  举报