如何在JavaScript中檢查一個值是否為數字?
在本教程中,我們將學習如何在JavaScript中檢查一個值是否為數字。在JavaScript中,在執行某些操作時,檢查變數的資料型別是必要的。否則,它可能會在你的應用程式中產生一些未知的錯誤。
例如,當用戶使用加法運算子與字串一起使用時,它會連線兩個字串,同樣,如果使用者使用加法運算子與數字一起使用,它會將兩個數字相加。現在,假設使用者想要將兩個數字相加,但實際上卻連線了兩個字串。
這裡,我們有三種不同的方法來檢查一個變數是否為數字型別。
使用typeof運算子
使用isNaN()方法
使用Number.isFinite()方法
使用typeof運算子
在這種方法中,我們將使用typeof運算子來檢查變數型別。它返回變數的型別。如果返回的值是'number',則該變數是數字型別。
語法
使用者可以使用以下語法來檢查變數是否為數字:使用typeof運算子。
let number = 20;
if ( typeof number == 'number' ) {
// perform some operation with number.
}
示例
在下面的示例中,我們使用typeof運算子檢查了不同變數的型別。它根據變數是否為數字在螢幕上列印訊息。
<html> <head> </head> <body> <h2>Check whether a value is number or not in JavaScript.</h2> <h4>Using the <i>typeof</i> operator to check value is number or not.</h4> <div id = "number1"></div> </body> <script> var number1 = document.getElementById("number1"); function checkNumber(number) { return typeof number == "number" ? "is number" : " is not a number"; } number1.innerHTML = "123 " + checkNumber(123) + " <br/> "; number1.innerHTML += "true " + checkNumber(true) + " <br/> "; number1.innerHTML += "'Hello' " + checkNumber("Hello") + " <br/> "; </script> </html>
使用isNaN()方法
在第二種方法中,我們將使用isNaN()方法來檢查變數是否為數字。NaN的意思是“非數字”。isNaN()方法如果傳遞的引數值不是數字,則返回true;否則返回false。
為了達到我們的目標,我們將取返回值的否定值。因此,當變數為數字型別時,它將返回true,而當變數為其他資料型別時,它將返回false。
語法
let number = 20; let result = !isNaN(number);
引數
number − 它是任何資料型別的變數,我們想要檢查它是否為數字。
示例
在下面的示例中,我們使用了isNaN()方法來檢查不同的變數是否為數字。我們還檢查了布林值。
<html> <head> </head> <body> <h2>Check whether a value is number or not in JavaScript.</h2> <h4>Using the <i> isNaN() </i> method for different values.</h4> <div id = "number1"></div> </body> <script> var number1 = document.getElementById("number1"); number1.innerHTML = "-32.34 is number : " + !isNaN(-32.34) + " <br/>"; number1.innerHTML += "false is number : " + !isNaN(false) + " <br/>"; number1.innerHTML += "TutorialsPoint is number : " + !isNaN("TutorialsPoint") + " <br/> "; </script> </html>
上述方法對布林值返回true,因為布林值以0和1的形式表示。所以這是isNaN()方法的侷限性。它對布林值將返回不準確的結果。
使用Number.isFinite()方法
Number.isFinite()方法是內建的JavaScript數字庫方法。它接受一個變數作為引數,對所有數值(Infinity值除外)返回true。
語法
let variable = 20; let result = Number.isFinite( variable );
引數
variable − 它是任何資料型別的變數,使用者想要檢查它是否為數字。
示例
下面的示例演示了Number.isFinite()方法的使用。我們正在測試不同的變數和值,以確定變數是否為數字型別。
<html> <head> </head> <body> <h2>Check whether a value is number or not in JavaScript.</h2> <h4>Using the <i> Number.isFinite() </i> method for different values.</h4> <div id = "number1"></div> </body> <script> var number1 = document.getElementById("number1"); number1.innerHTML = "232.14 is number : " + Number.isFinite(232.14) + " <br/> "; number1.innerHTML += "Infinity is number : " + Number.isFinite(Infinity) + " <br/> "; number1.innerHTML += "Yes is number : " + Number.isFinite("yes") + " <br/> "; </script> </html>
我們學習了三種不同的方法來檢查值是否為數字。第一種方法是最流行和最簡單的方法。第二種方法對布林值有一些限制,因此不推薦使用。第三種方法也很有用,因為它適用於所有變數。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP