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

原文地址:https://www.cnblogs.com/godbell/p/13292912.html