数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?

如下表所示

赤道周长(米) 度数(度)
40076000 360
111322.2222 1
11132.22222 0.1
1113.222222 0.01
111.3222222 0.001
11.13222222 0.0001
1.113222222 0.00001
0.111322222 0.000001
0.011132222 0.0000001
所以,只需要精确到小数点后7位,精度就是1CM。高德地图数据精度是小数点后8位.百度地图数据精度是小数点后6位.经纬度一般小数点前面的整数部分是0-360.所以我采用decimal(12,8)来存储经纬度数据.
 
问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,
 
问题2:为什么不用字符串?
答:字符串不方便数据库计算
 
 
posted @ 2018-04-16 18:57  iceman!  阅读(2932)  评论(0编辑  收藏  举报