我正在VS中開發一個應用程序,該應用程序使用Google地圖多段線的全局座標。我正在使用C#3.5,並在Windows 8上工作。運行時,我的程序會生成許多座標,並將它們輸出爲html文件中的js代碼。 在我的電腦,該程序能正常工作,是做自己的工作,並生成一個具有座標的js代碼:逗號插入無限小數
new google.maps.LatLng(47.6370775, 19.0505071666666667),
new google.maps.LatLng(47.637077333333333, 19.0505070),
new google.maps.LatLng(47.6370775, 19.0505066666666667),
然而,當我在計算機上運行的程序我希望以後使用的東西發生奇怪,並輸出如下代碼:
new google.maps.LatLng(47.6370775, 19.0505071,666666667),
new google.maps.LatLng(47.637077,333333333, 19.0505070),
new google.maps.LatLng(47.6370775, 19.0505066,666666667),
請注意無限小數前的逗號。所述計算機運行Windows XP SP3,因此它是一個較老的系統,但它已經安裝了.NET 3.5。使用這些座標會在Google Maps中產生意想不到的結果(它將中心置於敘利亞,而不是匈牙利)。 我不確定操作系統或我的應用程序是否進行了更改,但我無法調試,因爲此係統沒有安裝VS(並且我無法安裝它)。
更新:
的原始座標從文本文件採取:
01903.43995
轉換方法(緯度是在字符串上述座標)
latitude = latitude.TrimStart('0');
latitude = latitude.Insert(2, ".");
string[] currentcoord = latitude.Split('.');
string temp = currentcoord[1] + currentcoord[2];
string[] temp2;
if ((((double.Parse(temp)/60) * 100).ToString()).Contains("."))
{
temp2 = (((double.Parse(temp)/60) * 100).ToString()).Split('.');
currentcoord[1] = temp2[0] + temp2[1];
}
else
{
currentcoord[1] = ((double.Parse(temp)/60) * 100).ToString();
}
converted += currentcoord[0] + "." + currentcoord[1] + ";";
「轉化」是轉換的結果,這個座標然後被用作輸出。 (在這種情況下,它應該是19.0505071666666667,或類似的東西)。
生成數字是什麼? – epascarello 2014-10-29 14:27:05
很明顯,「你的程序」不能「正常工作」,但沒有看到產生數字的實際代碼,所以不可能提出任何具體的建議。很可能你處理文化特定的數字轉換錯誤......但很難肯定地說。 – 2014-10-29 14:29:13
我已經用轉換方法更新了這個問題。 請注意,在我的電腦下生成的座標是我正在尋找的座標。他們是非常準確的,他們或任何問題都沒有問題。所以我不希望有不同的數字,但這些數字沒有逗號。 – zergerge 2014-10-29 14:39:43