将字符串转换为double

Joã*_*tos 5 .net c# string globalization double

我正在尝试将字符串转换为double值,但它并没有让我得到我所期望的...

double dbl;
Double.TryParse("20.0", out dbl);
Run Code Online (Sandbox Code Playgroud)

这段代码返回200.0(而不是20.0)作为double值.知道为什么吗?

Meh*_*ari 22

你应该传递InvariantCulture给方法.

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

double.TryParse("20.0", NumberStyles.Any, 
                CultureInfo.InvariantCulture, out x);
Run Code Online (Sandbox Code Playgroud)