gpt4 book ai didi

php - MySQL ST_AsGeoJSON 返回原始数据中没有的 float 字

转载 作者:行者123 更新时间:2023-11-29 17:19:46 24 4
gpt4 key购买 nike

我正在使用 PHP 在数据库中保存一行。其中一个字段的类型为geometry。我用坐标 52.521913.4132 保存一个 POINT

当我检索行时,我使用ST_AsGeoJSON。它返回给我:

"geometry": {
"type": "Point",
"coordinates": [
52.5219000000000022509993868879973888397216796875,
13.413199999999999789679350215010344982147216796875
]
}

我想要没有额外数字的结果。这仅发生在我的临时服务器上。在我的本地服务器上,它返回正确的坐标。

最佳答案

这是一个常见问题。您可以从这里阅读更多相关信息:https://bugs.php.net/bug.php?id=41357

它是如何产生的?当您从 float 中减去整数时,有时会出现此类错误。例如:

var_dump(214.16569 - 214);

var_dump(114.16569 - 114);

解决方案:

有多种方法可以解决此问题。我使用下面的代码来限制小数点后的数字。限制最多 4 位数字:

$value = number_format($value, 4);

您可以使用上面的代码来格式化您的数据。它只会显示小数点后 4 位数字。

关于php - MySQL ST_AsGeoJSON 返回原始数据中没有的 float 字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51321498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com