将JavaScript数字验证为Java int的正确方法是什么?
–2147483648 < n < 2147483647
IsNumeric(2147483648) --> true: which is > int
parseInt("2147483648") --> 2147483648 : which is > int
答案 0 :(得分:3)
假设Java中的整数范围实际上是“-2147483648&lt; = n&lt; = 2147483647”,则表达式((+a)|0) == a
将按指定的方式工作。
+a
将表达式a计算为数字; |0
将数字转换为32位整数当a
无法用32位整数表示时,比较将失败。
答案 1 :(得分:0)
只测试一下if?
中的数字var number = 1234567;
if (Number.isInteger(number)) && number > -2147483648 && number < 2147483647)
{
console.log("It is a valid integer!");
}