经纬度小数点后与精确到米的误差
2017-02-26 16:00
1926 查看
如下表所示
所以,只需要精确到小数点后7位,精度就是1CM,因此,数据库保存经纬度采用 decimal(10,7) 即可。
问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,
问题2:为什么不用字符串?
答:字符串不方便数据库计算
如下表所示
所以,只需要精确到小数点后7位,精度就是1CM,因此,数据库保存经纬度采用 decimal(10,7) 即可。
问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,
问题2:为什么不用字符串?
答:字符串不方便数据库计算
赤道周长(米) | 度数(度) |
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 |
问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,
问题2:为什么不用字符串?
答:字符串不方便数据库计算
如下表所示
赤道周长(米) | 度数(度) |
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 |
问题1:为什么不采用float?
答:float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,
问题2:为什么不用字符串?
答:字符串不方便数据库计算
相关文章推荐
- 数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?
- 数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?
- 实现js浮点数加、减、乘、除的精确计算(网上很多文章里的方法是不能解决所有js浮点数计算误差的)
- Python计算开方、立方、圆周率,精确到小数点后任意位
- java--精确到小数点后某位
- Java中double类型的数据精确到小数点后两位
- 精确计算PI小数点后800位小数
- lua 获取某个数精确到小数点后n位的结果
- oc和swift实现算法:把 x 数字精确到小数点后第 p 位,不足 p 位补 0,然后四舍五入
- halcon控制显示精度(精确到小数点后6位,精度足够了)
- iOS NSDecimalNumber精确数值计算以及小数点后精确保留2位数字
- EditText输入数据精确到小数点后n位
- 习题2-5 分数化小数(精确到小数点后c位)
- Geolocation获取当前位置的经纬度在百度地图中就是比google地图中精确的原因
- Double、float类型精确到小数点后几位
- 精确经纬度的获取
- 根据经纬度求两点间距离实现源码(C#)-非常精确
- 【PAT】B1012. 数字分类(C++精确到小数点、题目理解)
- Java中double变量精确到小数点后几(2)位
- 实现js浮点数加、减、乘、除的精确计算(网上很多文章里的方法是不能解决所有js浮点数计算误差的)