Преобразование string в float - C# (209554)
Формулировка задачи:
Здравствуйте!
У меня возникла проблема. При попытке преобразовать строку в float выдаёт ошибку Format Exception. Фрагмент кода:
Подскажите, пожалуйста, где у меня ошибка.
StreamReader coord = new StreamReader(textBox34.Text, Encoding.Default); string[] cx = new string[count]; string[] cy = new string[count]; string[] cn = new string[count]; int i = 0; int c = 0; for (i = 0; i < lines; i++) { string line = coord.ReadLine(); if ((line.ToCharArray())[0] == 'N' && (line.ToCharArray())[1] == '=') { cx[c] = line.Substring(line.IndexOf("X") + 2, (line.IndexOf("Y") - 1 - line.IndexOf("X") - 2)); if (c != count - 1) { cy[c] = line.Substring(line.IndexOf("Y") + 2, (line.ToCharArray()).Length - 1 - line.IndexOf("Y") - 2); } else { cy[c] = line.Substring(line.IndexOf("Y") + 2, (line.ToCharArray()).Length - line.IndexOf("Y") - 2); } cn[c] = line.Substring(line.IndexOf("P") + 3, line.IndexOf("X") - 2 - line.IndexOf("P") - 3); c++; } float[] x = new float[count]; float[] y = new float[count]; for (int j = 0; j < count; j++) { x[j] = Single.Parse(cx[j]); y[j] = Single.Parse(cy[j]); }
Решение задачи: «Преобразование string в float»
textual
Листинг программы
var nfi = new System.Globalization.NumberFormatInfo(); nfi.NumberDecimalSeparator = "."; for (i = 0; i < lines; i++) { string line = coord.ReadLine(); if ((line.ToCharArray())[0] == 'N' && (line.ToCharArray())[1] == '=') { cx[c] = line.Substring(line.IndexOf("X") + 2, (line.IndexOf("Y") - 1 - line.IndexOf("X") - 2)); cy[c] = line.Substring(line.IndexOf("Y") + 2, (line.IndexOf("Y") - 1 - line.IndexOf("X") - 2)); cn[c] = line.Substring(line.IndexOf("P") + 3, line.IndexOf("X") - 2 - line.IndexOf("P") - 3); c++; } } float[] x = new float[count]; float[] y = new float[count]; for (int j = 0; j < count; j++) { x[j] = Single.Parse(cx[j], nfi); y[j] = Single.Parse(cy[j], nfi); MessageBox.Show(x[j].ToString()); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д