Ошибка конвертации в double при чтении массива из файла - C#

Узнай цену своей работы

Формулировка задачи:

Добрый День! Считую двомерный массив double из файла таким образом
public class Data
    {
        public static int size;
        public static double[,] matrixA;
 
        public Data()        
        {
            var streamReader = new StreamReader("Data.txt");
            var sizeString = streamReader.ReadLine();
            size = Int32.Parse(sizeString);
            matrixA = new double[size, size];
            Console.WriteLine("Number  " + size);
 
            for (int i = 0; i < size; i++)
            {
                string line = streamReader.ReadLine();
 
                double[] nums = line.Split(new char[] {' '}).Select(n => Convert.ToDouble(n)).ToArray();
 
                for (int j = 0; j < size; j++)
                {
                    matrixA[i, j] = nums[j];
                }
            }
 
        }
    }
Выдает ошибку здесь Convert.ToDouble(n). В файле записано такое 2 1.0 2.0 3.0 5.0 Если написать числа без точки вот так 2 1 2 3 5 все будет работать. Помогите разобраться пожалуйста.

Решение задачи: «Ошибка конвертации в double при чтении массива из файла»

textual
Листинг программы
Console.Write(string.Format(CultureInfo.InvariantCulture, "{0:F} ", matrixA[i, j]));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы