如何检查数字是浮点数还是整数?

新手上路,请多包涵

如何找到一个数字是 float 还是 integer

1.25 --> float
1 --> integer
0 --> integer
0.25 --> float

原文由 coure2011 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 681
2 个回答

除以 1 时检查余数:

 function isInt(n) {
 return n % 1 === 0;
 }

如果你不知道参数是一个数字,你需要两个测试:

 function isInt(n){
 return Number(n) === n && n % 1 === 0;
 }

 function isFloat(n){
 return Number(n) === n && n % 1 !== 0;
 }

2019 年更新

在编写此答案 5 年后,ECMA Script 2015 中的解决方案已标准化。该解决方案已包含 在此答案 中。

原文由 kennebec 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试使用这些函数来测试一个值是否是一个没有小数部分并且在可以表示为精确整数的大小限制内的原始数字值。

 function isFloat(n) {
    return n === +n && n !== (n|0);
}

function isInteger(n) {
    return n === +n && n === (n|0);
}

原文由 Dagg Nabbit 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题