C# Convert.ToDouble 在不同的区域下的问题
在不同的区域中使用Convert.ToDouble可能会产生问题。
string str = "20.0";
double val = Convert.ToDouble(str);
比如在某些区域语言中得到的结果是200,如:
Thread.CurrentThread.CurrentCulture =new CultureInfo("vi");
正确的做法是忽略区域,使用重载:
string str = "20.0";
double val = Convert.ToDouble(str, CultureInfo.InvariantCulture);
这样得到的结果就是正确的20.0