1. 程式人生 > >資料庫儲存經緯度,需要採用什麼資料型別,小數點應該精確多少位?

資料庫儲存經緯度,需要採用什麼資料型別,小數點應該精確多少位?

如下表所示
赤道周長(米)度數(度)
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:為什麼不用字串?答:字串不方便資料庫計算