尝试设置double类型等于解析坐标的变量时,输入字符串的格式不正确?

问题描述

我正在尝试将经度和纬度变量(从视图模型中)设置为等于从数据库表中获取的经度和纬度值(请注意:在数据库表中,经度和纬度变量的类型为“ nvarchar(50)”) )。但是,执行该特定代码后,我得到一个system.formatException,指出“输入字符串的格式不正确”。

viewmodel属性

public double Longitude { get; set; }
public double Latitude { get; set; }

数据库属性

enter image description here

我在其中将视图模型属性分配给传递的数据库属性的控制器:

 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 (将#修改为@)