有没有办法在c#中将字符串转换为双数组?

时间:2012-01-21 21:13:21

标签: c#

有没有办法在c#中将字符串转换为双数组?

来自字符串:“x -22.4,y 77.4,z + 99.8” 双数组:[ - 22.4,77.4,99.8]

来自字符串:“x -22.4 y 77.4 z + 99.8” 双数组:[ - 22.4,77.4,99.8]

2 个答案:

答案 0 :(得分:4)

这适用于两个版本。

从字符串中删除+ with space,,将其拆分为空格字符,取第一个,第三个和第五个元素并将它们转换为double:

double[] doubleArray = 
     "x -22.4 y 77.4 z + 99.8"
          .Replace(",", "")
          .Replace("+", "")
          .Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries)
          .Where((val, idx) => idx % 2 == 1)
          .Select(val => double.Parse(val))
          .ToArray()

答案 1 :(得分:0)

您可以使用Split()方法分割逗号和空格。然后使用TryParse()转换为double。