JS中的MOD运算

最近研究汉诺塔非递归的时候,看到书上写了个MOD,久违啊,感觉好久没看到过了,都忘了怎么用了。

某人:我知道,这不就是取余嘛,直接%就行了。

嗯。。。。。。,如果是python语言,你说的很对,但是我要的是JS中的。搜了下,貌似JS中没有MOD方法。便于学习的使用,自己写了个。

废话不多说,直接上代码。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>MOD运算</title>
	</head>
	<body>
		
		被除数:<input type="text" id="bcs"/> 
		除&emsp;数:<input type="text" id="cs"/> 
		结果:<span id="jg"></span>
		<input type="button" value="MOD运算" onclick="modys()" />
		
		<script>
			
			function modys(){
				var bcs = Number(document.getElementById("bcs").value);
				var cs = Number(document.getElementById("cs").value);
				if(cs == 0){
					alert("除数不能为0");
					return;
				}
				if((bcs < 0 && cs < 0) || (bcs >=0 && cs >= 0)){	//同号
					if(parseInt(bcs) == bcs && parseInt(cs) == cs){		//全为整数
						var jg = bcs%cs;
						document.getElementById("jg").innerHTML = jg;
					}else{
						/**
						 * 	被除数-(整商×除数)之后在第一位小数位进行四舍五入。
						 */
						var jg = (bcs - (Math.floor(bcs/cs) * cs)).toFixed(1);
						document.getElementById("jg").innerHTML = jg;
					}
				}else{		//异号
					/**
					 * 
					 * 除数*(正整数商 + 1)- 正数的被除数   ,最后取除数的符号。
					 */
					var zbcs = Math.abs(bcs);		//绝对值
					var zcs = Math.abs(cs);			//绝对值
					var jg = Math.abs(Math.abs(cs) * (Math.floor(zbcs/zcs) + 1) - Math.abs(bcs));
					if(cs < 0){
						jg = -jg
					}
					document.getElementById("jg").innerHTML = jg;
				}
			}
		</script>
	</body>
</html>

注:1.没有深度思考,按照百度百科的MOD运算介绍写的,有错误请指出,谢谢。

  2.对于小数没有精确运算,可以自己用math.js写个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值