Han*_*ans 253 javascript validation integer numbers
我在JavaScript中寻找一种简单的方法来检查数字中是否有小数位(以确定它是否为整数).例如,
23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
Run Code Online (Sandbox Code Playgroud)
if(number is integer) {...}Run Code Online (Sandbox Code Playgroud)
And*_*y E 741
使用模数将起作用:
num % 1 != 0
// 23 % 1 = 0
// 23.5 % 1 = 0.5
Run Code Online (Sandbox Code Playgroud)
请注意,这是基于数字值的数量,不论格式.它处理包含整数的数字字符串,其固定小数点与整数相同:
'10.0' % 1; // returns 0
10 % 1; // returns 0
'10.5' % 1; // returns 0.5
10.5 % 1; // returns 0.5
Run Code Online (Sandbox Code Playgroud)
le_*_*e_m 48
Number.isInteger(23); // true
Number.isInteger(1.5); // false
Number.isInteger("x"); // false:
Run Code Online (Sandbox Code Playgroud)
Number.isInteger()是ES6标准的一部分,IE11不支持.
它返回false NaN,Infinity而非数字参数x % 1 != 0返回true.
小智 46
或者您可以使用它来确定它是否不是小数:
string.indexOf(".") == -1;
Run Code Online (Sandbox Code Playgroud)
小智 29
Number.isSafeInteger(value);
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中,isSafeInteger() 是一个 Number 方法,用于返回一个布尔值,指示某个值是否是安全整数。这意味着它是一个整数值,可以精确表示为 IEEE-754 双精度数,无需舍入。
Tho*_*mas 21
最常见的解决方案是剥离数字的整数部分并将其与零进行比较,如下所示:
function Test()
{
var startVal = 123.456
alert( (startVal - Math.floor(startVal)) != 0 )
}
Run Code Online (Sandbox Code Playgroud)
ken*_*bec 19
//字节输入怎么样?
Number.prototype.isInt= function(){
return this== this>> 0;
}
Run Code Online (Sandbox Code Playgroud)
我总觉得javascript中的位运算符有点不好 -
他们几乎没有运动.
dYa*_*ale 19
简单但有效!
Math.floor(number) === number;
Run Code Online (Sandbox Code Playgroud)
小智 7
number = 20.5
if (number == Math.floor(number)) {
alert("Integer")
} else {
alert("Decimal")
}
Run Code Online (Sandbox Code Playgroud)
非常酷,也适用于 XX.0 之类的东西!它之所以有效,是因为 Math.floor() 会截掉任何有小数的小数,因此如果下限与原始数字不同,我们就知道它是小数!并且没有字符串转换:)
| 归档时间: |
|
| 查看次数: |
285172 次 |
| 最近记录: |