检查一个数字是否有小数位/是整数

2022-08-29 23:20:48

我正在寻找一种在JavaScript中检查数字中是否有小数位的简单方法(以确定它是否是整数)。例如

23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
if(number is integer) {...}

答案 1

使用模量将工作:

num % 1 != 0
// 23 % 1 = 0
// 23.5 % 1 = 0.5

请注意,这基于数字的数值,无论格式如何。它将包含具有固定小数点的整数的数字字符串视为与整数相同:

'10.0' % 1; // returns 0
10 % 1; // returns 0
'10.5' % 1; // returns 0.5
10.5 % 1; // returns 0.5

答案 2
Number.isInteger(23);  // true
Number.isInteger(1.5); // false
Number.isInteger("x"); // false: 

Number.isInteger() 是 ES6 标准的一部分,在 IE11 中不受支持。

它返回 false 和 非数值参数,同时返回 true。NaNInfinityx % 1 != 0