我正在尝试从第21个字符开始,从这样的页面标题中拉出一个数字(721576481415319 78 ):
parseInt(document.title.substring(21), 10);
这将字符串返回为721576481415319 80 的整数。我似乎无法弄清楚为什么它改变了最后两个数字。任何帮助将不胜感激。
答案 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。