数据库保存经纬度,需要采⽤什么数据类型,⼩数点应该精确
多少位?
如下表所⽰
⾚道周长(⽶)度数(度)
40076000360
111322.22221
11132.222220.1
1113.2222220.01
111.32222220.001
11.132222220.0001
1.1132222220.00001
0.1113222220.000001
0.0111322220.0000001
所以,只需要精确到⼩数点后7位,精度就是1CM,因此,数据库保存经纬度采⽤decimal(10,7) 即可。
问题1:为什么不采⽤float?
答:float,double容易产⽣误差,对精确度要求⽐较⾼时,建议使⽤decimal来存,decimal在mysql内存是以字符串存储的,
问题2:为什么不⽤字符串?
答:字符串不⽅便数据库计算
如下表所⽰
⾚道周长(⽶)度数(度)
40076000360
111322.22221
11132.222220.1
1113.2222220.01
111.32222220.001
11.132222220.0001
1.1132222220.00001
0.1113222220.000001
0.0111322220.0000001
所以,只需要精确到⼩数点后7位,精度就是1CM,因此,数据库保存经纬度采⽤decimal(10,7) 即可。
问题1:为什么不采⽤float?
答:float,double容易产⽣误差,对精确度要求⽐较⾼时,建议使⽤decimal来存,decimal在mysql内存是以字符串存储的,
问题2:为什么不⽤字符串?
答:字符串不⽅便数据库计算
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/lzjpc500/article/details/49956803decimal是整数数据类型