Вариант:
Код | public double[] ParseText(string txt) { double[] retVal; string[] txtArr = System.Text.RegularExpressions.Regex.Split(txt, "\\s+"); retVal = new double[txtArr.Length]; for (int i=0;i< txtArr.Length;i++) { retVal[i]= double.Parse(txtArr[i]); } return retVal; }
|
Если входной текст имеет правильный формат, то есть содержит числа разделённые пробелами, новыми строками и знаками табуляции, то на выходе будет массив типа double. При возможном неверном формате надо либо обработать исключение, либо воспользоваться методом TryParse вместо Parse. Кроме того: метод Parse перегружен, особое внимание следует обратить на метод
System.Double.Parse(string, System.IFormatProvider)
В качестве второго аргумента можно взять экземпляр типа System.Globalization.NumberFormatInfo, реализующий интерфейс System.IFormatProvider. В нём можно задать такие свойства как например разделитель десятичных разрядов(точка или запятая) и другие свойства, которые позволят правильно выпарсить число.
|