大负数的Javascript parseInt给出了NaN

时间:2013-07-24 05:21:39

标签: javascript nan

当我这样做时:

var x = parseInt("–2147483648");
console.log(x);

我得到的值为:

NaN

为什么会这样?

我想测试一个数字是否在C(int)的范围内,所以我正在做以上,但它不起作用。另外,我想为C(长)做这个,有没有办法解决这个问题?

例如: 如果我这样做:

var x = parseInt("-9223372036854775808");
console.log(x);

现在,我知道( - +)2 ^ 53是Javascript中数字的限制。是否有其他方法来测试表单中的给定值是否实际上在long或int范围内?

1 个答案:

答案 0 :(得分:12)

它应该可以正常工作,问题是你使用了错误的字符,ndash vs连字符-

var x = parseInt("-2147483648");
console.log(x);

如果你复制/粘贴它,你会发现它现在可以正常工作。