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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы