5

我正在尝试将字符串转换为双精度值,但它并没有返回我所期望的...

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

那段代码返回 200.0(而不是 20.0)作为双精度值。知道为什么吗?

4

1 回答 1

22

您应该传递InvariantCulture给该方法。

这背后的原因是您的区域设置可能设置.为分隔符而不是小数点。

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