String.Split方法无法正常工作

时间:2014-11-03 21:40:21

标签: c# split

我试图在每个运算符之间拆分此Equation,但String.Split方法输出错误的数字

代码:

string tmpEquation = "200.2−-23.5";
double[] Numbers;
Numbers = tmpEquation.Split(new char[] { '+', '−', '*', '/' })
          .Select(s => Double.Parse(s))
          .ToArray()
;

输出:

Number[0] = 2002.0
Number[1] = -235.0

应该是:

Number[0] = 200.2
Number[1] = -23.5

我做错了什么?

1 个答案:

答案 0 :(得分:5)

解析是文化敏感的。可能您的文化使用的是与dot (.)不同的小数分隔符。您可以使用InvariantCulture进行解析:

Numbers = tmpEquation.Split(new char[] { '+', '−', '*', '/' })
      .Select(s => Double.Parse(s, CultureInfo.InvariantCulture))
      .ToArray()