我使用php在数据库中保存一行。一个字段的类型为 geometry
. 我保存了一个 POINT
用坐标 52.5219
以及 13.4132
.
当我检索行时,我使用 ST_AsGeoJSON
. 它还给我:
"geometry": {
"type": "Point",
"coordinates": [
52.5219000000000022509993868879973888397216796875,
13.413199999999999789679350215010344982147216796875
]
}
我想要没有多余数字的结果。这只发生在我的暂存服务器上。在我的本地服务器上,它返回正确的坐标。
1条答案
按热度按时间jqjz2hbq1#
这是一个常见的问题。您可以从这里了解更多信息:https://bugs.php.net/bug.php?id=41357
它是如何产生的?当你从一个浮点数中减去一个整数时,有时它会给你这种类型的错误。例如:
var_dump(214.16569-214);
varïu垃圾场(114.16569-114);
解决方案:
有几种方法可以解决这个问题。我用下面的代码限制小数点后的数字。限制为4位:
$value=数字格式($value,4);
您可以使用上述代码格式化数据。小数点后只显示4位数字。