我在JavaScript中寻找一种简单的方法来检查一个数字是否有小数点(以确定它是否为整数)。例如,
23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
if(number is integer) {...}
我在JavaScript中寻找一种简单的方法来检查一个数字是否有小数点(以确定它是否为整数)。例如,
23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
if(number is integer) {...}
当前回答
Number.isInteger(23); // true
Number.isInteger(1.5); // false
Number.isInteger("x"); // false:
Number.isInteger()是ES6标准的一部分,在IE11中不支持。
NaN, Infinity和非数字参数返回false,而x % 1 != 0返回true。
其他回答
parseInt(num) === num
当传递一个数字时,parseInt()只是将数字作为int返回:
parseInt(3.3) === 3.3 // false because 3 !== 3.3
parseInt(3) === 3 // true
number = 20.5
if (number == Math.floor(number)) {
alert("Integer")
} else {
alert("Decimal")
}
非常酷,也适用于XX.0这样的东西! 它之所以有效,是因为Math.floor()如果有小数,就会将其切掉,因此如果小数与原始数字不同,我们就知道它是小数!并且没有字符串转换:)
你可以用这个:
bool IsInteger() {
if (num.indexOf(".") != -1) // a decimal
{
return Math.ceil(num) == Math.floor(num); // passes for 1.0 as integer if thats the intent.
}
return Number.isSafeInteger(num);
}
检查该数字是整数还是十进制。
函数检查数字是十进制或整数
function IsDecimalExist(p_decimalNumber) {
var l_boolIsExist = true;
if (p_decimalNumber % 1 == 0)
l_boolIsExist = false;
return l_boolIsExist;
}
Number.isSafeInteger(value);
在JavaScript中,isSafeInteger()是一个Number方法,用于返回一个布尔值,指示一个值是否为安全整数。这意味着它是一个整数值,可以精确地表示为IEEE-754双精度数,而不需要舍入。