给我一个能实现人民币数字大小写转换的html完整代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>人民币数字大小写转换</title>
<style>
input[type="text"] {
width: 300px;
height: 30px;
font-size: 18px;
padding: 5px;
margin-bottom: 10px;
}
input[type="button"] {
width: 100px;
height: 30px;
font-size: 16px;
background-color: #0077CC;
color: #FFF;
border: none;
border-radius: 5px;
cursor: pointer;
}
table {
border-collapse: collapse;
margin-top: 10px;
font-size: 18px;
text-align: center;
width: 100%;
}
th, td {
border: 1px solid #AAA;
padding: 10px;
}
</style>
</head>
<body>
<h1>人民币数字大小写转换</h1>
<p>请输入人民币金额:</p>
<input type="text" id="numInput">
<input type="button" value="转换" onclick="convert()">
<table>
<tr>
<th>数字金额</th>
<th>大写金额</th>
</tr>
<tr>
<td id="numOutput"></td>
<td id="cnOutput"></td>
</tr>
</table>
<script>
function convert() {
var numInput = document.getElementById("numInput").value.trim();
if (numInput == "") {
alert("请输入数字金额!");
return;
}
var num = parseFloat(numInput);
if (isNaN(num)) {
alert("请输入有效的数字金额!");
return;
}
if (num < 0 || num > 999999999.99) {
alert("请输入0-999999999.99之间的数字金额!");
return;
}
var cn = convertToCN(num);
document.getElementById("numOutput").innerHTML = num.toFixed(2);
document.getElementById("cnOutput").innerHTML = cn;
}
<pre><code> function convertToCN(num) {
var cn = "";
var str = "零壹贰叁肆伍陆柒捌玖";
var unit = ["元", "万", "亿", "万亿"];
var smallUnit = ["拾", "佰", "仟"];
var decimalUnit = ["角", "分"];
var integer = Math.floor(num);
var decimal = Math.round(num * 100) % 100;
var i = 0;
while (integer > 0) {
var section = integer % 10000;
if (i > 0) {
cn = unit[i] + cn;
}
var j = 0;
var zero = false;
while (section > 0) {
var digit = section % 10;
if (digit == 0) {
if (zero) {
zero = false;
cn = str.charAt(digit) + cn;
}
} else {
zero = true;
var numChar = str.charAt(digit);
var unitChar = "";
if (j > 0) {
unitChar = smallUnit[j - 1];
}
cn = numChar + unitChar + cn;
}
section = Math.floor(section / 10);
j++;
}
if (zero) {
cn = "零" + cn;
}
integer = Math.floor(integer / 10000);
i++;
}
if (decimal == 0) {
cn += "整";
} else {
var k = 0;
while (decimal > 0) {
var digit = decimal % 10;
if (digit > 0) {
var numChar = str.charAt(digit);
var unitChar = decimalUnit[k];
cn += numChar + unitChar;
}
decimal = Math.floor(decimal / 10);
k++;
}
}
return cn;
}
</script>
</code></pre>
</body>
</html>
原文地址: https://www.cveoy.top/t/topic/bW6H 著作权归作者所有。请勿转载和采集!