Преобразовать значение с плавающей запятой в строку - PullRequest
0 голосов
/ 16 мая 2011

У меня есть свойство, похожее на это:

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

            return lat;
        }
        set { 
            hdnLat.Value = value;  // Line 43
        }
    }

Я получил Широту и Долготу от Google Maps, и я получил кординаты из двух скрытых полей asp.net.

<asp:HiddenField ID="hdnLat" runat="server" />
<asp:HiddenField ID="hdnLng" runat="server" />

Я храню свою широту и долготу как float в своих базах данных, поэтому я должен преобразовать их в float, верно?

Как я могу преобразовать мои кординаты в правильный формат?

Visual Studio выдает мне эту ошибку:

Не удается неявно преобразовать тип double в строку Строка 43

Как я могу решить эту проблему?

1 Ответ

8 голосов
/ 16 мая 2011

Поскольку hdnLat.Value имеет тип string, при назначении ему назначаемый элемент также должен иметь тип string. Поэтому, если вы хотите присвоить value, вы должны преобразовать его в сопоставимый предмет типа string. И вы можете сделать это так:

hdnLat.Value = value.ToString();

Именно это пытается вам сообщить сообщение об ошибке «не может неявно преобразовать тип double в строку». Вы должны прочитать это сообщение как «Я вижу, что вы пытаетесь использовать двойное число, где я ожидал строку. Я пытался выяснить, как преобразовать ее, но не могу. Не могли бы вы сказать мне явно, как преобразовать ее?»

...