Wczytanie liczb niecałkowitych z pliku txt

0

Początek pliku wygląda tak :

0
1
2.5
0
3
12.34

I zawsze wywala Input string was not in a correct format. na liczbie niecałkowitej, w tym wypadku 2.5

FileStream fs = new FileStream("liczby.txt", FileMode.Open);
if (fs.Length != 0)
{
     StreamReader sr = new StreamReader(fs);

     List<float> liczby = new List<float>();
     float tmp;

     while (sr.EndOfStream == false)
     {
          tmp = float.Parse(sr.ReadLine());
          liczby.Add(tmp);
     }
}

Stringi i inty podobnym posobem mogę wczytać poza float/double.

dodanie znacznika <code> dla treści pliku - fp

3

Zapewne pracujesz na Windowsie z polskimi ustawieniami regionalnymi, więc metoda float.Parse() oczekuje, że separatorem dziesiętnym będzie przecinek. Ty w pliku masz kropkę, więc musisz wymusić parsowanie z pominięciem ustawień regionalnych, czyli:

tmp = float.Parse(sr.ReadLine(), CultureInfo.InvariantCulture);
0

Dzięki działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1