Не получается сконвертировать переменную в дабл

  • Автор темы Автор темы Porosenok
  • Дата начала Дата начала

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 302
Реакции
148
Баллы
63
Добрый день, есть такой код
Код:
Развернуть Свернуть Копировать
var attribute = he.GetAttribute("data1");
var attribute2 = he.GetAttribute("data2");
double variable1 = Convert.ToDouble(attribute);
double variable2 = Convert.ToDouble(attribute2);
в переменной attribute2 содержится число с точкой и двумя знаками после нее, например 50.00. Нужно сконвертировать его в дабл, дабы потом перемножить с числом из переменной attribute.
Так вот, при конвертации attribute проблем не возникает. А когда конвертирую attribute2 то пишет ошибку Входная строка имела неверный формат.
Притом если я пишу просто double variable2 = Convert.ToDouble(50.00); то никаких ошибок нет, то есть все конвертит нормально.
В чем дело, что я делаю не так?
 
C#:
Развернуть Свернуть Копировать
var attribute = he.GetAttribute("data1").Replace(".", ",");
var attribute2 = he.GetAttribute("data2").Replace(".", ",");
double variable1 = Convert.ToDouble(attribute);
double variable2 = Convert.ToDouble(attribute2);
 
  • Оценить
Реакции: sentinel и Porosenok
Используй инвариантную культуру, чтобы потом не было проблем на разных серверах из-за региональных стандартов:
Код:
Развернуть Свернуть Копировать
double variable2 = Convert.ToDouble("50.00", System.Globalization.CultureInfo.InvariantCulture);
 
  • Оценить
Реакции: Dimionix

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)