PHP7.1 json_encode() 浮点问题
这不是一个问题,因为它更像是一个意识。我更新了一个使用PHP7.1.1的应用程序,我看到浮点数被更改为有时扩展17位的问题。根据文档,PHP 7.1.x 开始在编码双精度值时使用代替精度。我猜这导致了一个示例值json_encode()
serialize_precision
472.185
成为
472.18500000000006
在该值通过之后。自从我发现以来,我已经恢复到PHP 7.0.16,我不再有问题。在恢复到PHP 7.0.16之前,我还尝试更新到PHP 7.1.2。json_encode()
json_encode()
这个问题背后的原因确实源于PHP - 浮点数精度,但是最终所有原因是因为从精度到serialize_precision用法的变化。json_encode()
如果有人知道这个问题的解决方案,我会非常乐意听听推理/修复。
摘自多维数组(之前):
[staticYaxisInfo] => Array
(
[17] => stdClass Object
(
[variable_id] => 17
[static] => 1
[min] => 0
[max] => 472.185
[locked_static] => 1
)
)
在经历了...json_encode()
"staticYaxisInfo":
{
"17":
{
"variable_id": "17",
"static": "1",
"min": 0,
"max": 472.18500000000006,
"locked_static": "1"
}
},