.NET 4.x FormatException не обработана (строка имеет не верный формат) - C#
Формулировка задачи:
Добрый день писал программу и тут возникла такая проблема, при попытке ввода числа вида 11,5 и 85,52 останавливает программу и выдает вот такую ошибку (картинка) и выводит в текст бокс только одну строчку. Думаю, что я не правильно организовал ввод, подскажите пожалуйста если я не прав. Код программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WF_OAPRL1 { public partial class Form1 : Form { static double Delta_h, h0, h1, E, L, h_cp, alpfa; static double Uc, Kc2, n_sig1, n_sig2, P_cp, P, M, N; static double R, V1, sigma_t0, a1, a2, a3, t, f, b, psi; static double alpfa_d, P_d, M_d, N_d, Ah, h1_d; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Hotprokatka(); alpfa_d = Math.Atan(f);//фльфа допускаемое P_d = 10000; M_d = 2000; N_d = 12000; Ah = 0.2; h1_d = 0.05; for (int i = 1; i <= 3; ++i) { if (P <= P_d) { textBox2.Text = Convert.ToString("Прохорд" + i); textBox2.Text = Convert.ToString("h0=" + h0); textBox2.Text = Convert.ToString("h1=" + h1); textBox2.Text = Convert.ToString("P=" + P); textBox2.Text = Convert.ToString("M=" + M); textBox2.Text = Convert.ToString("N=" + N); textBox2.Text = Convert.ToString("Угол альфа=" + alpfa); } else { h1 = h1 + Ah; h0 = h1; h1 = h0 / 3; Hotprokatka(); } if (M <= M_d) { textBox2.Text = Convert.ToString("Прохорд" + i); textBox2.Text = Convert.ToString("h0=" + h0); textBox2.Text = Convert.ToString("h1=" + h1); textBox2.Text = Convert.ToString("P=" + P); textBox2.Text = Convert.ToString("M=" + M); textBox2.Text = Convert.ToString("N=" + N); textBox2.Text = Convert.ToString("Угол альфа=" + alpfa); } else { h1 = h1 + Ah; h0 = h1; h1 = h0 / 3; Hotprokatka(); } if (N <= N_d) { textBox2.Text = Convert.ToString("Прохорд" + i); textBox2.Text = Convert.ToString("h0=" + h0); textBox2.Text = Convert.ToString("h1=" + h1); textBox2.Text = Convert.ToString("P=" + P); textBox2.Text = Convert.ToString("M=" + M); textBox2.Text = Convert.ToString("N=" + N); textBox2.Text = Convert.ToString("Угол альфа=" + alpfa); } else { h1 = h1 + Ah; h0 = h1; h1 = h0 / 3; Hotprokatka(); } if (alpfa <= alpfa_d) { textBox2.Text = Convert.ToString("Прохорд" + i); textBox2.Text = Convert.ToString("h0=" + h0); textBox2.Text = Convert.ToString("h1=" + h1); textBox2.Text = Convert.ToString("P=" + P); textBox2.Text = Convert.ToString("M=" + M); textBox2.Text = Convert.ToString("N=" + N); textBox2.Text = Convert.ToString("Угол альфа=" + alpfa); } else { h1 = h1 + Ah; h0 = h1; h1 = h0 / 3; Hotprokatka(); } } } public static void Hotprokatka() { ////////////////значения/////////////// // //h0=15; //h1=10.5; //R = 500; //V1 = 3000; //sigma_t0 = 85.2; //a1 = 0.253; //a2 = 0.085; //a3 = -3.80; //f = 0.25; //b = 2000; //t = 900; // Delta_h = h0 - h1;//1.1 E = Delta_h / h0;//1.2 L = Math.Sqrt(R * Delta_h + (Math.Pow(Delta_h, 2) / 4));//1.3 h_cp = 0.5 * (h0 + h1);//1.4 alpfa = Math.Acos(1 - (Delta_h / (2 * R)));//1.5 Uc = V1 * E / 1;//1.6 Kc2 = 1.155 * sigma_t0 * Math.Pow((6.67 * E), a1) * Math.Pow(Uc, a2) * Math.Pow((t / 1000), a3);//1.7 if (L / h_cp <= L) n_sig1 = 1 + 1.5 * Math.Pow((1 - 1 / (h_cp)), 3);//1.8 if (L < L / h_cp && L / h_cp <= 2.5) n_sig1 = 1 + 0.2 * ((L / h_cp) - 1);//1.9 if (2.5 < L / h_cp) n_sig1 = 1 + 0.5 * f * ((L / h_cp) - 1);//1.10 n_sig2 = 1 - 0.5 * ((0.2 / Kc2) + (0.2 / Kc2));//1.11 P_cp = Kc2 * n_sig1 * n_sig2;//1.12 P = P_cp * b * L;//1.13 if (0.2 <= L / h_cp && L / h_cp < 0.7) psi = 0.6 - 0.3 * Math.Pow((0.5 - (L / h_cp)), 2);//1.15 if (0.7 < L / h_cp && L / h_cp < 2.5) psi = 0.6 - 0.15 * Math.Sqrt((L / h_cp) - 0.7);//1.16 if (2.5 <= L / h_cp) psi = 0.404 - 0.022 * Math.Sqrt((L / h_cp) - 0.252 * alpfa);//1.17 M = 2 * P * psi * L;//1.14 N = M * (V1 / R);//1.18 } private void h0_reader_TextChanged(object sender, EventArgs e) { h0 = double.Parse(h0_reader.Text); } private void h1_reader_TextChanged(object sender, EventArgs e) { h1 = double.Parse(h1_reader.Text); } private void R_reader_TextChanged(object sender, EventArgs e) { R = double.Parse(R_reader.Text); } private void V1_reader_TextChanged(object sender, EventArgs e) { V1 = double.Parse(V1_reader.Text); } private void SigT_reader_TextChanged(object sender, EventArgs e) { sigma_t0 = double.Parse(SigT_reader.Text); } private void a1_reader_TextChanged(object sender, EventArgs e) { a1 = double.Parse(a1_reader.Text); } private void a2_reader_TextChanged(object sender, EventArgs e) { a2 = double.Parse(a2_reader.Text); } private void a3_reader_TextChanged(object sender, EventArgs e) { a3 = double.Parse(a3_reader.Text); } private void f_reader_TextChanged(object sender, EventArgs e) { f = double.Parse(f_reader.Text); } private void b_reader_TextChanged(object sender, EventArgs e) { b = double.Parse(b_reader.Text); } private void t_reader_TextChanged(object sender, EventArgs e) { t = double.Parse(t_reader.Text); } private void textBox2_TextChanged(object sender, EventArgs e) { } } }
Решение задачи: «.NET 4.x FormatException не обработана (строка имеет не верный формат)»
textual
Листинг программы
double d = double.Parse("-3,56");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д