我將lat和lng存儲爲MondoDB和C#官方驅動程序中的雙精度值。在MondoDB(由駕駛員或實習生)舍入doubley值後,我的問題與我的觀點不匹配。在發佈到Repository之前,我已經搜索了所有可能的四捨五入,但沒有發現任何內容。爲什麼不使用小數,因爲Query.Near使用雙打。
v1.6.5; C#v0.11; Win64平臺。MongoDB C#offi:Lat,Lng作爲雙精度被存儲在精度13和舍入?
XX.444057295828145; XX.63416004180907捕獲作爲字符串 XX.444057295828145; XX.63416004180907收據保存方法之前通過庫 MongoDB的內部並返回: XX.4440572958281,XX.6341600418091,已保存和只有後返回(13 dot)
這導致移動的地圖。建議。謝謝。
我用這個方法更新
public void SaveGeoPoints(String id, String lat, String lng)
{
//--> XX.444057295828145;XX.63416004180907
Db.repository.Update(
Query.EQ("_id", id),
Update.Set("Lat", double.Parse(lat))
.Set("Lng", double.Parse(lng)));
}
我知道。但我不打印或更改直接更新此代碼並在文檔Db.Centroid.Update( Query.EQ(「_ id」,woeid), Update.Set(「Iso」,iso) .Set (「Lat」,double.Parse(「12,444057295828145」)) .Set(「Lng」,double.Parse(「12,63416004180907」)) .Set(「Zoom」,zoom) ) – user325558 2011-02-23 21:44:33