Javascript parseInt对大负数给出NaN
Javascript parseInt on large negative number gives NaN
当我这样做时:
var x = parseInt("–2147483648");
console.log(x);
我得到的值为:
NaN
为什么会发生这种情况?
我想测试一个数字是否在C(int)的范围内,所以我正在做上面的操作,但它不起作用。另外,我想为C(long)做这件事,有办法吗?
例如:如果我这样做:
var x = parseInt("-9223372036854775808");
console.log(x);
现在,我知道(++)2^53是Javascript中数字的极限。是否有其他方法可以测试表单中给定的值是否真的在long或int的范围内?
它应该可以正常工作,问题是您使用了错误的字符,一个ndash –
与一个连字符-
:
var x = parseInt("-2147483648");
console.log(x);
如果你复制/粘贴它,你会发现它现在有效。
经过两天的尝试,这解决了我的问题。数字选择器使用了错误的负数格式。我把字段改为textstring,然后用parseInt得到了正确的负数。
相关文章:
- jquery中出现NaN错误.已经尝试过ParseInt,但仍然不起作用
- parseInt() 出乎意料地等同于 NaN
- 货币字段上的 parseInt 返回 NaN
- parseInt() returns NaN
- 使用文本输入和parseInt的简单JS函数,返回NaN
- 如何使Javascript NaN和ParseInt等于零
- parseInt returns NaN
- JavaScript Array.map(parseInt)导致NaN错误
- 即使我使用parseInt进行加法运算,也能得到一个NaN
- 为什么 Number('') 返回 0 而 parseInt('') 返回 NaN
- 解析由 parseInt() 和 toLocaleString Internet Explorer 返回的值时的 NaN
- parseInt正在为CSS属性返回NaN
- Javascript parseInt对大负数给出NaN
- parseInt返回NaN,而它应该是一个数字
- parseInt在IE中返回NaN,但在Chrome中工作良好
- JavaScript中parseInt值= NaN的数字
- 为什么parseInt(key) === NaN总是求值为false
- parseInt为CSS属性的总价值返回NaN
- 如何将NaN从parseInt转换为空字符串的0
- 没有让parseInt在knockout.js上工作(NaN错误)