我想要检查我的输入是否为浮点数。
所以类似这样的代码...
if (typeof (input) == "float")
do something....
怎样才是正确的方法?
我想要检查我的输入是否为浮点数。
所以类似这样的代码...
if (typeof (input) == "float")
do something....
怎样才是正确的方法?
尝试使用parseFloat
parseFloat()函数会解析一个参数(如果需要,先将其转换为字符串),并返回一个浮点数。
if(!isNaN(parseFloat(input))) {
// is float
}
!Number.isInteger(val)
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger 或者请参考页面顶部的“此处已有答案”链接。 - MrColes!Number.isInteger('lorem ipsum')
也会返回true。正如MDN所指出的那样,Number.isInteger()方法确定传递的值是否为整数。 - naveentypeof
检查输入的类型。在这种情况下if (typeof input === "number") {
// It's a number
}
Number
类型,没有分开的 float
和 integer
类型。如果想要确定 JavaScript 中的类型,可以参考这篇文章:Say what?
如果原本的数据类型是其他类型(比如字符串),但你希望将它转换为数字(如果可能的话),可以使用 Number
或 parseFloat
。input = Number(input);
if (!isNaN(input)) {
// It was already a number or we were able to convert it
}
更多:
在Javascript中,所有数字都是浮点数。请注意类型名称用引号括起来,它是一个字符串,并且全小写。还要注意typeof
是一个运算符,而不是函数,不需要括号(尽管它们是无害的)。