欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

json_decode 长整数,丢失精度,为何 window xp,该怎么处理

程序员文章站 2022-06-06 08:05:56
...
json_decode 长整数,丢失精度,为何 window xp
在下面的php转换中:tid的精度会丢失,后面4位,6788,变成了7000 ,为何呢?

str='{"receiver_address":"四川遂宁市","receiver_city":"遂宁市","receiver_district":"射洪县","receiver_mobile":"15228662928","receiver_name":"蔡","receiver_state":"四川省","receiver_zip":"100218","sid":"114757372016788","tid":114757372016788}';

print_r(json_decode($str));exit;

测试环境:
A:centOS5+php5* 可以正确转换,
B: window xp +php526+Apache2.2 ,出错,丢失精度。

谢谢关注的亲们。

------解决方案--------------------
114757372016788 如果是数值的话,已超出 32 位机器的长整形所能表示的范围

你应该将其当做字符串处理,跟 sid 一样


------解决方案--------------------
编码问题吧
------解决方案--------------------
给数字两边加引号成字符串试一试
------解决方案--------------------
linux上安装的php模块和window上安装的不同, 或者php的配置不同, 所以json_decode的计算方法不一样。

如果你不懂怎么弄, 最简单的方法是当字符串处理, 在js脚本里转回整型数字。
json_decode 长整数,丢失精度,为何 window xp,该怎么处理

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频