如何将经度和纬度字符串转换为double?

Mar*_*ijn 2 c# google-maps winforms

我从谷歌得到我的经度和优势:

http://maps.google.com/maps/geo?q=Sliedrecht,%20Netherlands&output=csv&oe=utf8&sensor=false

我想使用此结果为地图添加标记:

        if (coordinates.Length == 4 && coordinates[0] == "200")
        {
            var overlay = new GMapOverlay(mapexplr, "overlayTwo");

            overlay.Markers.Add(new GMapMarkerGoogleGreen(new PointLatLng(Convert.ToDouble(coordinates[2]), Convert.ToDouble(coordinates[3]))));
            mapexplr.Overlays.Add(overlay);
        }
Run Code Online (Sandbox Code Playgroud)

问题是我的标记没有显示.我认为这是因为没有以正确的格式提供双打​​.以上链接的结果如下:

200,4,51.8248681,4.7731624

当我将值转换4.7731624为双倍时,我47731624没有点.

所以我的问题是,如何将字符串转换为带有正确位置点的双精度?

Jon*_*eet 20

有可能是因为你的文化 - 听起来好像在这种情况下你想要不变的文化:

double longitude = double.Parse(text, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

(您可能希望使用它double.TryParse来优雅地处理它不是有效值的可能性.)