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

如何找到一个数字是floatinteger

1.25 --> float  

1 --> integer

0 --> integer

0.25 --> float

回答:

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

};

以上是 JavaScript如何检查数字是浮点数还是整数? 的全部内容, 来源链接: utcz.com/qa/398776.html

回到顶部