JavaScript 中余数运算符 (%) 有哪些不同的用例?

front end technologyjavascriptweb development

在本教程中,我们将了解余数运算符 (%) 的不同用例。% 运算符也称为模数运算符。此运算符返回数字除以秒后的余数。它采用被除数的符号。

什么是余数?

根据除法公式,被除数 / 除数 = 商商。当被除数不能被除数完全整除时,总会有余数。因此,如果我们的商是整数,那么余数将始终为零。

例如

10 / 2= 5,这里没有余数,因为 10 可以被 5 完全整除。
6 / 4 = 1,这里的余数是 2,因为 6 不能被 4 完全整除。

所以,我们了解了余数,现在还要记住,余数是余数运算符返回的东西,它适用于诸如被除数 % 除数之类的方法。

示例 1

在下面的例子中,我们为不同的用例找到余数。

<!DOCTYPE html> <html> <head> <title>Remainder Operator (%) Use cases</title> </head> <body> <div id = "output"> </div> <script> var outDiv = document.getElementById("output") var remainder; //when dividend >= divisor remainder = 10 % 4; outDiv.innerHTML += remainder + "<br>" // 2 remainder = -10 % 4 outDiv.innerHTML += remainder + "<br>" // 2 // -2 remainder = 10 % -4 outDiv.innerHTML += remainder + "<br>" // 2 remainder = -10 % -4 outDiv.innerHTML += remainder + "<br>"// -2 //when dividend <= divisor remainder = 4 % 10 outDiv.innerHTML += remainder + "<br>" remainder = -4 % 10 outDiv.innerHTML += remainder + "<br>" remainder = 4 % -10 outDiv.innerHTML += remainder + "<br>" // 4 remainder = -4 % -10 outDiv.innerHTML += remainder + "<br>" // -4 //remainder when NaN (Not a Number) is dividend remainder = NaN % -2 outDiv.innerHTML += remainder + "<br>" // NaN //so, when NaN is divided by and value then output will always be NaN. //remainder when infinity is dividend remainder = Infinity % 4 outDiv.innerHTML += remainder + "<br>" // NaN remainder = Infinity % 0 outDiv.innerHTML += remainder + "<br>" // NaN remainder = Infinity % Infinity outDiv.innerHTML += remainder + "<br>"// NaN // when float value is divided remainder = 4.5 % 3 outDiv.innerHTML += remainder + "<br>" // 1.5 remainder = -4.5 % 3 outDiv.innerHTML += remainder + "<br>"// -1.5 remainder = 3 % -4.5 outDiv.innerHTML += remainder + "<br>" // 3 </script> </body> </html>

示例 2

检查偶数和奇数

我们使用余数运算符来检查输入的数字是偶数还是奇数。当数字除以 2 时,我们会找到余数。如果余数为 0,则数字为偶数,否则如果余数为 1,则数字为奇数。

<!DOCTYPE html> <html> <body> <h1>JavaScript reminder operator:</h1> <input type="number" id="val" placeholder="Enter a number" /> <input type="button" value="Check" onclick="checkOddEven()" style="color: blue"/> <h4 id="writeHere"></h4> <script> function checkOddEven(){ var val=document.getElementById("val").value if(val%2===0) document.getElementById('writeHere').innerHTML= val + " is even" else document.getElementById('writeHere').innerHTML=val + " is odd" } </script> </body> </html>

余数和模数有什么区别?

有时很多人对模数和余数运算符感到困惑。所以让我们来澄清一下。

在某些语言(如 Python)中,C++ % 表示模数。例如,我们使用它来避免溢出或超出数据类型的范围。但在 JavaScript 中,单独的 % 并不意味着模数运算符。在某些情况下,例如当除数和除数具有相同的符号时,则在这种情况下模数可以返回与余数相同的值。

示例

如果余数 7%4 = 3
模数 7%4 = 3

您可以看到两者给出的结果相同,让我们使用负号

如果余数 -7%4= -3
模数 -7%4 = 1

使用上述示例,您可以观察到,如果符号更改模数将给出与余数不同的结果。

在 JavaScript 中,我们使用下面提到的公式计算模数

((dividend % divisor) + divisor) % divisor

相关文章