我有一个值为“20.616378139”的字符串,当我尝试使用Convert.ToDouble或Double.Parse进行转换时,我得到了正确值的20616378139.0。
为什么会发生这种情况,我应该如何解决?
答案 0 :(得分:16)
您可能生活在世界中小数点写为逗号的地方。修正:
var str = "20.616378139";
var dbl = double.Parse(str, System.Globalization.CultureInfo.InvariantCulture);
答案 1 :(得分:-2)
Parse方法有一个重载,提供某种选项参数;这是您可以指定它来处理科学记数法等的方法。请尝试明确设置。如果可行,请查看您正在使用的默认文化信息设置。
答案 2 :(得分:-2)
我已经使用过这个命令,之前没有问题。
string s =“20.616378139”; double d = Convert.ToDouble(s); ![在此输入图像说明] [1]