C# - 将字符串转换为double时出现意外结果

Rap*_*ael 3 c#

我有一个值为"20.616378139"的字符串,当我尝试使用Convert.ToDouble或Double.Parse进行转换时,我得到20616378139.0正确的值.

为什么会发生这种情况,我该如何解决?

Han*_*ant 16

您可能生活在世界中小数点写为逗号的地方.固定:

var str = "20.616378139";
var dbl = double.Parse(str, System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)