JavaScript 取模運算子 (%) 的不同用例是什麼?


在本教程中,我們將瞭解取模運算子 (%) 的不同用例。% 運算子也稱為模運算子。此運算子返回一個數除以第二個數時的餘數。它採用被除數的符號。

什麼是餘數?

從除法公式被除數 / 除數 = 商中可以看出。當被除數不能被除數完全整除時,總是存在餘數。因此,如果我們的商是整數,那麼我們的餘數將始終為零。

例如

10 / 2= 5 here no remainder is there as 10 is completely divisible by 5.
6 / 4 = 1 here reminder is 2 as 6 is not completely divisible by 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 中,% 本身並不意味著模運算子。在某些情況下,例如當除數和被除數符號相同時,模運算可以返回與餘數相同的值。

示例

in case remainder 7%4 = 3
In modulo 7%4 = 3

您可以看到兩者都給出了相同的結果,讓我們使用負號試試

In case remainder -7%4= -3
In modulo -7%4 = 1

透過上面的例子,您可以觀察到,如果符號改變,模運算將給出與餘數不同的結果。

在 JavaScript 中,我們使用下面提到的公式計算模:

((dividend % divisor) + divisor) % divisor

更新於:2022年8月16日

358 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.