Почему Double.TryParse выдает false?

139
22 августа 2021, 06:40

У меня есть веб-форма, на которой произвожу выборку запроса. в запросе переменная имеет значение 219.1. Я пытаюсь разобрать это следующим образом

double diam1 = 0;
if (rdr2.Read())
{
    Double.TryParse(rdr2["DIAMETER"].ToString(), out diam1);
}

Но метод выдает false и возвращает diam1 = 0, хотя по сути это должно работать, может кто-нибудь подсказать, в чем моя проблема? заранее спасибо

Answer 1

Думаю, снова вопрос про текущую культуру. Поменяйте точку на запятую или в обратную сторону, или указывайте культуру явно при парсинге.

Double.TryParse(rdr2["DIAMETER"].ToString(),
          NumberStyles.Any, 
          CultureInfo.InvariantCulture, 
          out diam1)
Answer 2

Используй перегруженную версию:

TryParse(String, NumberStyles, IFormatProvider, Double)
READ ALSO
Не создаётся БД CodeFirst EntityFramework

Не создаётся БД CodeFirst EntityFramework

Есть сущность GuestResponse

159
Ошибка: попытка деления на ноль

Ошибка: попытка деления на ноль

Я пытаюсь присвоить переменной типа double математическое выражение, которое в свою очередь тоже состоит из переменных

173
Как добавить программу в автозапуск?

Как добавить программу в автозапуск?

Написал небольшую утилиту для закрытия ненужных процессов винды при старте (Sirena, Очередь печати и тд)

198
перегрузка оператора деления

перегрузка оператора деления

как реализовать перегрузку оператора деления (частного)Если можно пример

228