Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL ST_AsGeoJSON返回的浮点数字不是原始数据_Php_Mysql_Geojson - Fatal编程技术网

Php MySQL ST_AsGeoJSON返回的浮点数字不是原始数据

Php MySQL ST_AsGeoJSON返回的浮点数字不是原始数据,php,mysql,geojson,Php,Mysql,Geojson,我正在使用PHP在数据库中保存一行。一个字段的类型为几何体。我用坐标52.5219和13.4132保存一个点 检索行时,我使用ST_AsGeoJSON。它返回给我: "geometry": { "type": "Point", "coordinates": [ 52.5219000000000022509993868879973888397216796875, 13.41319999999999978

我正在使用PHP在数据库中保存一行。一个字段的类型为
几何体
。我用坐标
52.5219
13.4132
保存一个

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

"geometry": {
    "type": "Point",
    "coordinates": [
        52.5219000000000022509993868879973888397216796875,                        
        13.413199999999999789679350215010344982147216796875
    ]
}
我想要没有额外数字的结果。这只发生在我的暂存服务器上。在我的本地服务器上,它返回正确的坐标。

这是一个常见问题。 您可以从这里了解更多信息:

它是如何产生的? 当你从一个浮点数中减去一个整数时,有时会出现这种错误。 例如:

瓦鲁垃圾场(214.16569-214)

瓦鲁垃圾场(114.16569-114)

解决方案:

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

$value=number\u格式($value,4)


您可以使用上述代码格式化数据。小数点后只显示4位。

但这是MySQL返回的数字。这似乎是一个MySQL问题,而不是PHP问题。