2009-04-05 3 views
5

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

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

Этот кусок кода возвращается 200,0 (вместо 20,0) как двойное значение. Любая идея почему?

ответ

22

Вы должны пройти InvariantCulture.

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

double.TryParse("20.0", NumberStyles.Any, 
       CultureInfo.InvariantCulture, out x); 
+0

Спасибо, что решил. :) –

+0

это очень сложно –