检查JavaScript中的数字是否在Java的int范围内(-2147483648< n< 2147483647)

时间:2014-10-22 09:42:48

标签: java javascript

将JavaScript数字验证为Java int的正确方法是什么?

  –2147483648 < n < 2147483647

 IsNumeric(2147483648) --> true: which is > int
 parseInt("2147483648") --> 2147483648 : which is > int

2 个答案:

答案 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!");
}