如何检查 Value 是否为 JavaScript 中的浮点数
JavaScript 中检查一个值是否为浮点数:
- 检查该值是否具有数字类型并且不是整数。
- 检查该值是否不是
NaN
。 - 如果一个值是一个数字,不是
NaN
也不是整数,那么它就是一个浮点数。
function isFloat(value) {
if (
typeof value === 'number' &&
!Number.isNaN(value) &&
!Number.isInteger(value)
) {
return true;
}
return false;
}
console.log(isFloat(1)); // 👉️ false
console.log(isFloat(1.5)); // 👉️ true
console.log(isFloat(-1.5)); // 👉️ true
console.log(isFloat('1.5')); // 👉️ false
我们首先检查提供的值是否具有数字类型。 如果不是,我们会立即返回 false。
我们使用逻辑与 &&
运算符来检查多个条件。 要运行我们的 if 块,必须满足所有条件。
第二个条件检查提供的值不是 NaN(不是数字)。 不幸的是,NaN 在 JavaScript 中有一种数字类型。
console.log(typeof Number.NaN); // 👉️ number
我们必须进行
NaN
检查,因为NaN
具有数字类型,而不是整数。
如果提供的值是数字类型,不是 NaN 也不是整数,我们返回 true。
使用 Number.isInteger 方法时有一个问题。
如果传入值,则返回 true:
- 是一个整数
- 是一个可以表示为整数的浮点数
下面是一个可以表示为整数的浮点数示例。
console.log(Number.isInteger(10.0)); // 👉️ true
将 10.0 视为整数还是浮点数取决于您的用例。
我们对该函数的实现将 1.0 和 5.0 之类的数字视为非浮点数。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。