我正在Visual Studio中開發Xamarin Android應用程序。C#:將字符串從數組轉換爲雙精度分隔符
我有GPS的字符串數組座標如下:
*string[] DeviceLocations = { "23.2342;32.4544", "7.4321;9.5431", "12.4223;-23.3434" };*
爲了能夠將它們傳遞給我的谷歌地圖狀的標記,他們必須被轉換爲雙值 - 用」。 「作爲分隔符。
我已經嘗試了幾種不同的方法來做到這一點,包括:
1)
Double lat = Convert.ToDouble(splitPos[0].ToString(), new CultureInfo("en-US"));
2)
NumberFormatInfo info = new NumberFormatInfo();
info.NumberGroupSeparator = ".";
info.NumberDecimalSeparator = ".";
Double lat = Double.Parse(splitPos[0].ToString(), info);
3)
Double lat = XmlConvert.ToDouble(splitPos[0].ToString());
4)
Double lat = double.Parse(splitPos[1].ToString(), CultureInfo.InvariantCulture);
但是他們都用「,」而不是「。」返回「lat」。
任何人有任何其他的想法,我可以嘗試?我正在用盡想法。
你如何得到'splitPos'? – ThePerplexedOne
我在split循環中獲取splitPos,如下所示:_string [] splitPos = DeviceLocations [i] .Split(';'); _ – SorenA
問題不在於解析我相信的數字。問題在於輸出號碼時。那就是你需要指定的格式。使用'CultureInfo'或'NumberFormatInfo'。 –