parseInt更改整数

时间:2014-10-09 04:54:05

标签: javascript integer substring parseint

我正在尝试从第21个字符开始,从这样的页面标题中拉出一个数字(721576481415319 78 ):

parseInt(document.title.substring(21), 10);  

这将字符串返回为721576481415319 80 的整数。我似乎无法弄清楚为什么它改变了最后两个数字。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

根据What is JavaScript's highest integer value that a Number can go to without losing precision?,整数的最大值为9007199254740992.

我在http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parseint上尝试了您的计算,我可以确认您的问题。

它看起来像是解析超出此最大值的问题,并且它将最后2个数字四舍五入。

答案 1 :(得分:0)

您已超出JavaScript使用的double-precision floating-point format限制。您不能直接在JavaScript中使用该精确数字。您可以将它用作字符串,但如果您需要对其进行算术运算,则需要a bignum library