如何在MySQL数据库中存储精确的十进制坐标

时间:2011-12-07 18:52:26

标签: mysql database types floating-point sqldatatypes

我使用Google Code上的商店定位器教程创建了一个数据库,该教程指定存储标记坐标的字段属于FLOAT(10,6)类型。但是,当我使用Google的地理编码器服务对某些点进行地理编码时,我会得到一些带有14位小数的结果。例如,

-70.07290899999998

数字不会超过21或小于-67,小数点后总是在1到14位之间。

如何在数据库中设置此字段?

2 个答案:

答案 0 :(得分:7)

不要使用浮动;使用固定点。浮游天然是粗糙的。

http://dev.mysql.com/doc/refman/5.0/en/fixed-point-types.html

3之前,15之后 DECIMAL(17,14)

答案 1 :(得分:3)

我只使用DECIMAL列类型,小数点后的六位数字对于位置来说非常准确。