阿拉伯数字转大写

首页 > 前端开发 > javascript 更新日期:2023-04-29 12:22:52

函数

function transCnMoney(number) {
	var CN_MONEY = "";
	var CN_UNIT = "仟佰拾亿仟佰拾万仟佰拾元角分";
	number = parseFloat(number)
		.toFixed(2)
		.toString(); //浏览器默认为整数型,将数字转为2位有效数字的float类型再转为字符串
	var 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 (var 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(/^元/, "零元");
	} else {
	}
}

用法

transCnMoney(500.00)

结果

伍佰元整


标题导航