【发布时间】:2009-04-05 18:26:26
【问题描述】:
我正在尝试将字符串转换为双精度值,但它没有返回我所期望的...
double dbl;
Double.TryParse("20.0", out dbl);
那段代码返回 200.0(而不是 20.0)作为双精度值。知道为什么吗?
【问题讨论】:
标签: c# .net string double globalization
我正在尝试将字符串转换为双精度值,但它没有返回我所期望的...
double dbl;
Double.TryParse("20.0", out dbl);
那段代码返回 200.0(而不是 20.0)作为双精度值。知道为什么吗?
【问题讨论】:
标签: c# .net string double globalization
您应该将InvariantCulture 传递给该方法。
这背后的原因是您的区域设置可能将. 设置为分隔符而不是小数点。
double.TryParse("20.0", NumberStyles.Any,
CultureInfo.InvariantCulture, out x);
【讨论】: