直接上代码,亲测有效
function transCnMoney(number){ let CN_MONEY = ""; let CN_UNIT = '仟佰拾亿仟佰拾万仟佰拾元角分'; number += "00"; let dot = number.indexOf('.'); if (dot >= 0) number = number.substring(0, dot) + number.substr(dot + 1, 2); CN_UNIT = CN_UNIT.substr(CN_UNIT.length - number.length); for (let i = 0; i < number.length; i++) CN_MONEY += '零壹贰叁肆伍陆柒捌玖'.substr(number.substr(i, 1), 1) + CN_UNIT.substr(i, 1); return CN_MONEY.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元"); } console.log(transCnMoney(0.36)); console.log(transCnMoney(125)); console.log(transCnMoney(125.00)); console.log(transCnMoney(125.65)); console.log(transCnMoney(191658741));结果: