Tablica string na float. Problem z konwertowaniem

0

Hej,
mam zadanie :
Napisz metodę float Najwieksza(string tekst) zwracającą największą wartość float znalezioną w tekście z liczbami zmiennoprzecinkowymi. Tekst zawiera tylko liczby, oddzielone od siebie znakiem tabulacji '\t'.

Mój kod:

   static float Najwieksza(string tekst)
        {
            //"7.15 \t 2.14 \t 3.14 \t 9"
            string[] nowy;
            nowy = tekst.Split('\t');
            float[] T1 = new float[nowy.Length];
            for (int i = 0; i < nowy.Length; i++)
            {
                T1[i] = float.Parse(nowy[i]);
            }
            float max = -999999;
            for (int j = 0; j < T1.Length; j++)
            {
                if (T1[j] >= max)
                    max = T1[j];
            }
            return max;
        }

Wyskakuje mi błąd, coś jest nie tak z

float.Parse

chyba. Może mi ktoś podpowiedzieć, co jest nie tak? ;)

2

Nie napisałeś JAKI błąd, więc strzelam: float.Parse() standardowo oczekuje liczb w formacie zgodnym z aktualnymi ustawieniami regionalnymi (polski), a ty mu dajesz liczby z kropką. Użyj float.Parse(nowy[i], CultureInfo.InvariantCulture).

I nie uznawaj, że największe jest -999999, tylko weź pierwszą liczbę i porównuj wszystkie poza pierwszą. Zadziała nawet dla liczb mniejszych od -999999.

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