<!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 = &quot;&quot;;
		var str = &quot;零壹贰叁肆伍陆柒捌玖&quot;;
		var unit = [&quot;元&quot;, &quot;万&quot;, &quot;亿&quot;, &quot;万亿&quot;];
		var smallUnit = [&quot;拾&quot;, &quot;佰&quot;, &quot;仟&quot;];
		var decimalUnit = [&quot;角&quot;, &quot;分&quot;];
		var integer = Math.floor(num);
		var decimal = Math.round(num * 100) % 100;
		var i = 0;
		while (integer &gt; 0) {
			var section = integer % 10000;
			if (i &gt; 0) {
				cn = unit[i] + cn;
			}
			var j = 0;
			var zero = false;
			while (section &gt; 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 = &quot;&quot;;
					if (j &gt; 0) {
						unitChar = smallUnit[j - 1];
					}
					cn = numChar + unitChar + cn;
				}
				section = Math.floor(section / 10);
				j++;
			}
			if (zero) {
				cn = &quot;零&quot; + cn;
			}
			integer = Math.floor(integer / 10000);
			i++;
		}
		if (decimal == 0) {
			cn += &quot;整&quot;;
		} else {
			var k = 0;
			while (decimal &gt; 0) {
				var digit = decimal % 10;
				if (digit &gt; 0) {
					var numChar = str.charAt(digit);
					var unitChar = decimalUnit[k];
					cn += numChar + unitChar;
				}
				decimal = Math.floor(decimal / 10);
				k++;
			}
		}
		return cn;
	}
&lt;/script&gt;
</code></pre>
</body>
</html>
给我一个能实现人民币数字大小写转换的html完整代码

原文地址: https://www.cveoy.top/t/topic/bW6H 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录