如何在 JavaScript 中检查变量是否为整数?
在本教程中,我们将学习如何在 JavaScript 中检查变量是否为整数。在我们解决问题之前,我们必须先有一个问题。我们可以问自己,“为什么我们需要检查变量是否为整数?”。让我们用一个简单的例子来理解答案。假设,我们正在使用输入文本框从用户那里获取值。它以字符串格式返回这些值,现在假设我们要对这些值进行加法运算。我们会得到正确的结果吗?显然不会。因此,在这种情况下,我们需要检查变量是否为整数。
此外,我们经常需要只对整数进行运算,而不是浮点数。因此,可能会有很多需要检查变量类型的场景。
以下是一些检查变量是否为整数或其他类型的方法。
使用 Number.isInteger() 方法
使用 typeof 运算符
使用 parseInt() 方法
使用 Number.isInteger() 方法
Number 的 isInteger() 方法将变量作为参数,如果变量是整数则返回 true。否则,它返回 false。
语法
用户可以按照以下语法使用 isInteger() 方法。
Number.isInteger( variable );
参数
变量 − 它可以是任何变量,例如浮点数、字符串等,用于检查它是否为整数。
示例
在下面的示例中,我们使用了 isInteger() 方法来检查变量是否为整数。我们对不同的值应用了 isInteger() 方法,其中一个值为 Infinity。用户可以在输出中看到结果。
<html> <head> <title>Check if variable is of integer type.</title> </head> <body> <h2>Check if variable is of integer type in JavaScript using <i> isInteger() </i> method.</h2> <h4>output for value 10.</h4> <div id = "result1"></div> <h4>Output for Infinity.</h4> <div id = "result2"></div> <h4>output for 0.123</h4> <div id = "result3"></div> <script> let result1 = document.getElementById("result1"); let result2 = document.getElementById("result2"); let result3 = document.getElementById("result3"); let number = 10; result1.innerHTML = Number.isInteger(number) number = Infinity; result2.innerHTML = Number.isInteger(number); numer = 0.123; result3.innerHTML = Number.isInteger(number); </script> </body> </html>
在上面的输出中,用户可以看到,isInteger() 方法对于 Infinity 和浮点值返回“false”。
使用 typeof 运算符
typeof 运算符可用于检查 JavaScript 中任何变量的类型。我们将首先检查变量的类型,如果变量的类型是数字,那么我们将检查它是否包含小数部分。如果数字不包含小数部分,则它应该是一个整数。要检查数字是否包含小数部分,我们可以取该数字与 1 的模。
用户可以按照以下语法应用上述方法。
语法
let number = 10; // if modulo of number with 1 is 0, it doesn’t contains the decimal part and number is an Integer. let result = typeof number == "number" && number % 1 == 0 ? true : false;
示例
<html> <head> <title>Check if variable is of integer type.</title> </head> <body> <h2>Check if variable is of integer type in JavaScript using <i> typeof operator.</i></h2> <h4>output for value 10</h4> <div id = "result1"></div> <h4>Output for 10.10</h4> <div id = "result2"></div> <script> let result1 = document.getElementById("result1"); let result2 = document.getElementById("result2"); let number = 10; result1.innerHTML = typeof number == "number" && number % 1 == 0 ? true : false; number = 10.10; result2.innerHTML = typeof number == "number" && number % 1 == 0 ? true : false;; </script> </body> </html>
使用 parseInt() 方法
parseInt() 方法从字符串或浮点数中返回整数部分。我们还将从数字中解析整数部分,并将其与我们的实际数字进行比较。如果 parseInt() 方法返回的值与实际数字的值相同,则该数字为整数。
此外,我们将在这种方法中使用严格相等运算符来比较返回值和实际值,因为它还会比较变量的数据类型。
用户可以按照以下语法使用上述方法。
语法
number === parseInt( number );
示例
在下面的示例中,我们使用了 parseInt() 方法和严格相等运算符来检查数字是否为整数。作为第二个输入,我们传递了字符串值以检查它是否为整数。用户可以在输出中看到结果。
<html> <head> <title>Check if variable is of integer type.</title> </head> <body> <h2>Check if variable is of integer type in JavaScript using <i> parseInt() </i> method.</h2> <h4>output for value 14300</h4> <div id = "result1"></div> <h4>Output for "20"</h4> <div id = "result2"></div> <script> let result1 = document.getElementById("result1"); let result2 = document.getElementById("result2"); let number = 14300; result1.innerHTML = number === parseInt(number); number = "10"; result2.innerHTML = number === parseInt(number); </script> </body> </html>
我们学习了三种检查变量是否为整数的方法。最好使用 isInteger() 方法来实现我们的目标。但是,在本教程中我们没有讨论许多其他方法。其中一种方法是从数字中删除小数部分,使用按位运算符,并将其与实际值进行比较。