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

posted @ 2020-07-13 14:09  Jichan·Jong  阅读(608)  评论(1编辑  收藏  举报