当我输出一些双变量时,它们会使用 fwrite 以指数形式写入。我可以在 PHP 中设置一些默认值,每当显示(复制或存储)变量时它总是以十进制格式出现吗?
准确地说,当我在包含双精度值(不是指数形式)的 json 字符串上使用 json_decode 方法时,就会出现问题。转换对象后,该 double 值将变成指数。
我有一个类似的问题json_decode
正在将最近的 Twitter/推文 ID 转换为指数数字。
我通过提高 PHP 的浮点精度解决了这个问题,这可以通过几种不同的方式来完成......
- 找出
precision
php.ini 中的值并将其更改为precision = 20
- add
ini_set('precision', 20);
到您的 PHP 应用程序
- add
php_value precision 20
到您应用程序的 .htaccess 或虚拟主机文件
否则,如果你愿意拥有你的BIGINT
转换为字符串并且您有 PHP 5.3+ 您还可以将标志传递给json_decode
像这样:json_decode($json, true, 512, JSON_BIGINT_AS_STRING)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)