Вопрос

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

double dbl;
Double.TryParse("20.0", out dbl);

Этот фрагмент кода возвращает 200.0 (вместо 20.0) в виде двойного значения.Есть идеи, почему?

Это было полезно?

Решение

Вы должны пройти InvariantCulture к методу.

Причина этого заключается в том, что ваши региональные настройки, вероятно, устанавливают . как символ разделителя, а не десятичная точка.

double.TryParse("20.0", NumberStyles.Any, 
                CultureInfo.InvariantCulture, out x);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top