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

如何在MySQL数据库中存储精确的十进制度坐标,mysql,database,types,floating-point,sqldatatypes,Mysql,Database,Types,Floating Point,Sqldatatypes,我使用Google代码上的store locator教程创建了一个数据库,该教程指定存储标记坐标的字段类型为FLOAT(10,6)。然而,当我使用谷歌的地理编码服务对某些点进行地理编码时,我会得到一些小数点后14位的结果。比如说, -70.072908999998 数字从不大于21或小于-67,小数点后始终有1到14位数字 如何在数据库中设置此字段?我只使用了十进制列类型,小数点后的六位数字对于位置来说足够精确。不使用浮点;使用固定点。自然漂流是艰难的 3之前,15之后 十进制(17,14)M

我使用Google代码上的store locator教程创建了一个数据库,该教程指定存储标记坐标的字段类型为FLOAT(10,6)。然而,当我使用谷歌的地理编码服务对某些点进行地理编码时,我会得到一些小数点后14位的结果。比如说,

-70.072908999998

数字从不大于21或小于-67,小数点后始终有1到14位数字


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

我只使用了
十进制列类型,小数点后的六位数字对于位置来说足够精确。

不使用浮点;使用固定点。自然漂流是艰难的

3之前,15之后
十进制(17,14)

MySQL应该为您四舍五入。根据,赋值为999.00009的
FLOAT(7,4)
将存储为999.0001,为了更好地读取:只需将FLOAT设置为速度精度。双精度是精确的。但是,在处理如此小或大规模的数学问题时,通常不需要精确性。链接文章中标记的答案真的进入了数学理论(远远超过我的理解)