Я пытаюсь преобразовать строку в двойное значение в .Net 3.5. Довольно легко до сих пор сНеверное значение с double.Parse (string)
double.Parse(value);
Моя проблема в том, что значения с экспоненциальными тегами неверно конвертируются. Пример:
double value = double.Parse("8.493151E-2");
Значение должно быть = 0,0893151 правильно? Но это не так! Значение = 84931,51 !!!
Как это может быть? Я полностью смущен!
Я прочитал ссылку в библиотеке msdn и подтвердил, что поддерживаются такие значения, как «8.493151E-2». Я также пытался перегружать double.Parse() с NumberStyles, но не добился успеха.
Пожалуйста, помогите!
Ok, это работает! Я не пытался использовать его с IFormatProvider Спасибо! – Kai
@flashfail - если вы не укажете 'IFormatProvider', он будет использовать локаль вашего компьютера. Вы указываете свое местоположение как «DE Oldenburg», которое я предполагаю в Германии, где вы используете десятичную запятую и «.». как разделитель тысяч. – ChrisF