新建js文件
/*
* @Description:
* @Autor:
* @Date: 2021-07-02 15:26:19
* @LastEditors:
* @LastEditTime: 2021-09-30 15:57:03
*/
function NoToChinese(num) {
if (!/^\d*(\.\d*)?$/.test(num)) {
alert("Number is wrong!");
return "Number is wrong!";
}
var AA = new Array(
"零",
"壹",
"贰",
"叁",
"肆",
"伍",
"陆",
"柒",
"捌",
"玖"
);
var BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");
var a = ("" + num).replace(/(^0*)/g, "").split("."),
k = 0,
re = "";
console.log(a, 'a');
for (var i = a[0].length - 1; i >= 0; i--) {
switch (k) {
case 0:
re = BB[7] + re;
break;
case 4:
if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]))
re = BB[4] + re;
break;
case 8:
re = BB[5] + re;
BB[7] = BB[5];
k = 0;
break;
}
if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0)
re = AA[0] + re;
if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re;
k++;
}
if (a.length > 1) {
//加上小数部分(如果有小数部分)
re += BB[6];
for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
}
return re;
}
页面中使用
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>NumberConversion</title>
<script src="digital.js"></script>
</head>
<body>
<div>
<input type="text" id="sourcetxt" /><br />
<input
type="button"
onclick="NumConvert()"
id="converbtn"
value="数字大写转换"
/>
<br />
<input type="text" id="targettxt" />
</div>
<script>
function NumConvert() {
try {
var numtxt = document.getElementById("sourcetxt").value;
var result = NoToChinese(numtxt);
document.getElementById("targettxt").value = result;
} catch (e) {
alert(e);
}
}
</script>
</body>
</html>