5

文字列を double 値に変換しようとしていますが、期待どおりの値が返されません...

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

そのコードは、(20.0 ではなく) 200.0 を double 値として返しています。理由はありますか?

4

1 に答える 1

22

InvariantCultureメソッドに渡す必要があります。

この背後にある理由は、地域設定がおそらく.小数点ではなく区切り文字として設定されているためです。

double.TryParse("20.0", NumberStyles.Any, 
                CultureInfo.InvariantCulture, out x);
于 2009-04-05T18:27:46.357 に答える