Когда ты говоришь
в моей системе числа с плавающей запятой хранятся с запятой в качестве десятичного разделителя
Я предполагаю, вы имеете в виду, что они отформатированы с запятой, числа с плавающей запятой хранятся как float
.
Хотя вы можете решить проблему форматирования, установив Культуры, «реальное» исправление - это изменение кода. Хорошо, это не ваш код, поэтому, возможно, вы не хотите делать это в данном случае, но для общей справки вам необходимо убедиться, что при форматировании float или чего-либо еще вы используете соответствующую культуру. В случае создания числа для использования API вы должны использовать InvariantCulture.
Т.е. используйте foo.ToString(CultureInfo.InvariantCulture)
вместо foo.ToString()
и аналогично при использовании string.Format (...).
Изменить. Я только что взглянул на код NerdDinner и понял, что эта ошибка находится в Javascript, а не в C #, поэтому мой приведенный выше код не поможет. Я не знаю, можно ли форматировать числа в Javascript, но реальное решение, на мой взгляд, - исправить код модели, чтобы он возвращал правильно отформатированную строку.
Изменить 2. Я предлагаю вам попробовать следующее: В SearchController.cs
измените Latitude
и Longitude
в JsonDinner
на strings
. т.е.
public class JsonDinner {
public int DinnerID { get; set; }
public string Title { get; set; }
public string Latitude { get; set; }
public string Longitude { get; set; }
public string Description { get; set; }
public int RSVPCount { get; set; }
}
Затем прокрутите вниз до метода SearchByLocation и измените строки Lat / Long, чтобы правильно отформатировать строки для JavaScript:
Latitude = dinner.Latitude.ToString(CultureInfo.InvariantCulture),
Longitude = dinner.Longitude.ToString(CultureInfo.InvariantCulture),
Это должно означать, что вам не нужно исправление, которое вы добавили, и вам следует исправить свой другой вопрос ... где я оставлю комментарий. Надеюсь, это поможет, я еще не полностью протестировал это, поскольку я не в вашем регионе, но, похоже, это работает.
person
Steve
schedule
17.04.2009