如何解决尝试设置double类型等于解析坐标的变量时,输入字符串的格式不正确?
我正在尝试将经度和纬度变量(从视图模型中)设置为等于从数据库表中获取的经度和纬度值(请注意:在数据库表中,经度和纬度变量的类型为“ nvarchar(50)”) )。但是,执行该特定代码后,我得到一个system.formatException,指出“输入字符串的格式不正确”。
public double Longitude { get; set; }
public double Latitude { get; set; }
public JsonResult GetMarkers()
{
//disable lazy loading
db.Configuration.ProxyCreationEnabled = false;
//Map marker section
var DynamicMapMarkers = db.tblNpo.Include(zz => zz.tblVerification).Include(xx => xx.tblNpo_Type);
//Set map marker values
foreach (var item in DynamicMapMarkers)
{
DonatorUserviewmodel MapMarkers = new DonatorUserviewmodel();
MapMarkers.NpoID = item.npo_id;
MapMarkers.NpoName = item.npo_name;
MapMarkers.NpoType = item.tblNpo_Type.description;
MapMarkers.VerificationStatus = item.tblVerification.description;
MapMarkers.Longitude = double.Parse(item.longitude); //this is where the error is thrown
MapMarkers.Latitude = double.Parse(item.latitude);
MapMarkerList.Add(MapMarkers);
}
var json = MapMarkerList;
return Json(json,JsonRequestBehavior.AllowGet);
}
另外。可能存在item.longitude和item.latitude的值变为零的情况(从tblNpo到fetch不会有任何数据)。会不会是一个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。