我有这样的房产:
public float Lat{
get {
float lat;
if (!float.TryParse(hdnLat.Value, out lat))
{
throw new NotImplementedException();
}
return lat;
}
set {
hdnLat.Value = value; // Line 43
}
}
我从谷歌地图获得了纬度和经度,我从两个asp.net隐藏区获得了坐标。
<asp:HiddenField ID="hdnLat" runat="server" />
<asp:HiddenField ID="hdnLng" runat="server" />
我将我的纬度和经度存储在我的数据库中,因此我必须将其转换为浮动权利吗?
如何将我的坐标转换为正确的格式?
Visual Studio给我这个错误:
无法隐式转换类型double string Line 43
我该如何解决这个问题?
答案 0 :(得分:8)
由于hdnLat.Value
的类型为string
,因此当您为其指定时,您指定的项目也必须属于string
类型。因此,如果您要分配value
,则必须将其转换为类似string
类型的项目。你可以这样做:
hdnLat.Value = value.ToString();
这正是错误消息“无法将double类型隐式转换为字符串”正试图告诉您。您应该将此消息读作“我看到您正在尝试使用我期望字符串的双精度。我试图找出如何转换它,但我不能。你能明确地告诉我如何转换它吗?”