如何将经度和纬度字符串转换为双精度
本文关键字:字符串 转换 双精度 纬度 经度 | 更新日期: 2023-09-27 18:23:53
我从谷歌获取经度和纬度:
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);
}
问题是我的标记没有显示。我认为这是因为双打没有以正确的格式提供。以上链接的结果是:
200,4,51.8248681,4.7731624
当我将值4.7731624
转换为双精度时,我得到了47731624
,没有点。
所以我的问题是,如何将字符串转换为点在正确位置的双精度?
很可能是由于您的文化-在这种情况下,听起来您想要不变的文化:
double longitude = double.Parse(text, CultureInfo.InvariantCulture);
(您可能希望使用double.TryParse
来优雅地处理它不是有效值的可能性。)
只需使用Double.Parse()并传递包含lat/long坐标的字符串