微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 警告:json_encode()中的大量错误

<?PHP  
$int = 1968401665333658496;  
echo json_encode( array("$int",$int) );  
?>  

在浏览器中收到:[“1968401665333658496”,1968401665333658600]

它“舍入”我的整数?

顺便说一句:PHP_INT_MAX = 9223372036854775807~PHP版本5.3.2-1ubuntu4.7
没有任何问题与这些巨大的整数(PHP,MysqL或Javascript)
– 直到json_encode()搞砸了(地顺便说一句……)

最佳答案:

Javascript没有整数概念,根据标准,所有数字都是IEEE双精度数,这意味着它们有52位尾数.这导致在任何精度损失之前实际的最大“整数”值为2 ^ 53.

我不确定你是如何在JS中没有这么大的数字问题 – 如果你没有你的JS实现不符合标准.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐