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

JavaScript如何检查数字是浮点数还是整数?,第1张

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

除以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;}

目前有一种称为

Number.isInteger()IE
的方法,除IE之外,其他所有方法均已实现。MDN还为其他浏览器提供了polyfill:

Number.isInteger = Number.isInteger || function(value) {  return typeof value === 'number' &&     isFinite(value) &&     Math.floor(value) === value;};

但是,在大多数情况下,最好还是使用

Number.isSafeInteger
后者来检查该值是否过高/过低,以至于无论如何小数位都会丢失。MDN对此也有一个polyfil。(你还需要
isInteger
上面的polyfill。)

if (!Number.MAX_SAFE_INTEGER) {    Number.MAX_SAFE_INTEGER = 9007199254740991; // Math.pow(2, 53) - 1;}Number.isSafeInteger = Number.isSafeInteger || function (value) {   return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;};


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5021943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存