我正在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'。 –