JavaScript或AS3中的parseInt返回错误值
有人能解释一下为什么所有这些parseInt操作的计算结果都是相同的吗 parseInt('10153593963283294') 10153593963283294 parseInt('10153593963283295') 10153593963283296 parseInt('10153593963283296') 10153593963283296 parseInt('10153593963283297') 10153593963283296 parseInt('10153593963283298') 10153593963283298 在浏览器和节点命令行中测试JavaScript或AS3中的parseInt返回错误值,javascript,Javascript,有人能解释一下为什么所有这些parseInt操作的计算结果都是相同的吗 parseInt('10153593963283294') 10153593963283294 parseInt('10153593963283295') 10153593963283296 parseInt('10153593963283296') 10153593963283296 parseInt('10153593963283297') 10153593963283296 parseInt('101535939632
谢谢 您的号码大于。JavaScript甚至将整数存储为浮点数,因此一旦数字过大,就会失去精度。我认为这是因为您已达到最大安全整数 请阅读这篇文章: 有一张便条: “这个数字背后的原因是JavaScript使用IEEE 754中规定的双精度浮点格式数字,并且只能安全地表示介于-(253-1)和253-1之间的数字 在这种情况下,安全指的是准确表示整数并正确比较它们的能力。”