js 数字转金额大写以万元为单位
时间: 2023-04-11 13:02:06 浏览: 105
可以使用以下代码将 JS 数字转换为金额大写:
```javascript
function convertCurrency(money) {
// 定义汉字的数字
var cnNums = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
// 定义汉字的单位
var cnIntRadice = ["", "拾", "佰", "仟"];
var cnIntUnits = ["", "万", "亿", "兆"];
var cnDecUnits = ["角", "分", "毫", "厘"];
// 将数字转换为字符串,并分割成整数部分和小数部分
var parts = money.toString().split(".");
var integer = parts[0];
var decimal = parts[1] ? parts[1].substr(0, 4) : "";
// 将整数部分转换为汉字的金额大写
var result = "";
var len = integer.length;
for (var i = 0; i < len; i++) {
var num = parseInt(integer.charAt(i));
var unit = len - i - 1;
result += cnNums[num] + cnIntRadice[unit];
if (unit == 0 && num == 1) {
result += "元";
}
}
// 将小数部分转换为汉字的金额大写
if (decimal != "") {
var decLen = decimal.length;
for (var i = 0; i < decLen; i++) {
var num = parseInt(decimal.charAt(i));
result += cnNums[num] + cnDecUnits[i];
}
}
// 添加“整”字
if (result == "") {
result = "零元整";
} else if (decimal == "") {
result += "元整";
}
// 添加单位
var unitIndex = 0;
while (integer > 0) {
var unit = cnIntUnits[unitIndex];
var section = integer % 10000;
if (section > 0) {
result = cnNums[section] + unit + result;
}
integer = Math.floor(integer / 10000);
unitIndex++;
}
return result;
}
console.log(convertCurrency(123456789.1234)); // 壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元壹角贰分三毫四厘
```
注意:以上代码只能将数字转换为金额大写,无法将金额转换为数字。