.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");