js 写一个数字转大写的函数
时间: 2024-06-09 10:07:59 浏览: 7
以下是 JavaScript 实现的数字转大写函数:
```javascript
function numToChinese(num) {
if (!/^\d*(\.\d*)?$/.test(num)) {
return "请输入数字";
}
var cnNums = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"]; // 中文数字
var cnIntRadice = ["", "拾", "佰", "仟"]; // 中文整数部分的单位
var cnIntUnits = ["", "万", "亿", "兆"]; // 中文整数部分的大单位
var cnDecUnits = ["角", "分", "毫", "厘"]; // 中文小数部分的单位
var maxNum = 999999999999999.9999; // 最大处理的数字
var integerNum; // 整数部分数字
var decimalNum; // 小数部分数字
var chineseStr = ""; // 中文数字字符串
var parts; // 分离整数与小数部分
if (num == "") {
return "请输入一个数字";
}
num = parseFloat(num);
if (num >= maxNum) {
return "数字超出最大处理范围";
}
if (num == 0) {
chineseStr = cnNums[0];
return chineseStr;
}
num = num.toString(); // 转换为字符串
if (num.indexOf(".") == -1) {
integerNum = num;
decimalNum = "";
} else {
parts = num.split(".");
integerNum = parts[0];
decimalNum = parts[1].substr(0, 4);
}
if (parseInt(integerNum, 10) > 0) {
var zeroCount = 0;
var IntLen = integerNum.length;
for (var i = 0; i < IntLen; i++) {
var n = integerNum.substr(i, 1);
var p = IntLen - i - 1;
var q = p / 4;
var m = p % 4;
if (n == "0") {
zeroCount++;
} else {
if (zeroCount > 0) {
chineseStr += cnNums[0];
}
zeroCount = 0; // 归零
chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
}
if (m == 0 && zeroCount < 4) {
chineseStr += cnIntUnits[q];
}
}
chineseStr += cnIntUnits[0];
}
if (decimalNum != "") {
var decLen = decimalNum.length;
for (var i = 0; i < decLen; i++) {
var n = decimalNum.substr(i, 1);
if (n != "0") {
chineseStr += cnNums[Number(n)] + cnDecUnits[i];
}
}
}
if (chineseStr == "") {
chineseStr += cnNums[0] + cnIntUnits[0] + cnDecUnits[0];
}
return chineseStr;
}
```
使用方法:
```javascript
console.log(numToChinese(123456789.1234)); // 输出:壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖点壹贰叁肆
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)