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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP