MySQL ST_AsGeoJSON返回的浮点数不在原始数据中

时间:2018-07-13 09:03:47

标签: php mysql geojson

我正在使用PHP在数据库中保存一行。一个字段的类型为geometry。我保存了一个坐标为POINT52.5219的{​​{1}}。

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

ST_AsGeoJSON

我希望结果没有多余的数字。这仅在我的登台服务器上发生。在我的本地服务器上,它返回正确的坐标。

1 个答案:

答案 0 :(得分:0)

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

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

  

var_dump(214.16569-214);

     

var_dump(114.16569-114);

解决方案:

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

  

$ value = number_format($ value,4);

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