将浮点值转换为字符串

0 c# string double

我有这样的房产:

 public float Lat{
        get {
            float lat;
            if (!float.TryParse(hdnLat.Value, out lat))  
            {
                throw new NotImplementedException();
            }

            return lat;
        }
        set { 
            hdnLat.Value = value;  // Line 43
        }
    }
Run Code Online (Sandbox Code Playgroud)

我从谷歌地图获得了纬度和经度,我从两个asp.net隐藏域获得了坐标.

<asp:HiddenField ID="hdnLat" runat="server" />
<asp:HiddenField ID="hdnLng" runat="server" />
Run Code Online (Sandbox Code Playgroud)

我将我的纬度和经度存储在我的数据库中,因此我必须将其转换为浮动权利吗?

我如何将我的坐标转换为正确的格式?

Visual Studio给我这个错误:

无法将类型double隐式转换为字符串第43行

我怎么解决这个问题?

M4N*_*M4N 8

由于hdnLat.Value是类型string,当您指定它时,您指定的项目也必须是类型string.因此,如果要分配value,则必须将其转换为类似的类型项string.你可以这样做:

hdnLat.Value = value.ToString();
Run Code Online (Sandbox Code Playgroud)

这正是错误消息"无法将double类型隐式转换为字符串"正试图告诉您.您应该将此消息读作"我看到您正在尝试使用我期望字符串的双精度.我试图弄清楚如何转换它,但我不能.你能明确告诉我如何转换它吗?"

  • @Akram:我认为包含***代码而没有*解释*的答案基本上一文不值.因此,我认为他们不值得任何赞成.根据我的心情,我会知道这些答案.他们实际上并没有告诉提问者问题是什么,他们鼓励人们将代码直接复制并粘贴到他们的源代码中,这绝不是一个好主意.*好*答案与好问题完全相同.他们解释了问题是什么,导致问题的原因,以及*然后*如何解决问题. (3认同)