一遍又一遍地获取FormatException

时间:2012-09-28 07:26:07

标签: c# formatexception

我试图计算不同物体的面积。所有这些对象都有自己的WinForm.我想在CalculationBase课程中进行计算,但是当我尝试这样做时,我会继续收到FormatException.这里的消息。我的代码:

在我的Program.cs中,我创建了一个对我想要计算的表单的引用。

static class Program
    {
        public static frmRectangle formRect;
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            formRect = new frmRectangle();

            Application.Run(new frmMain());
        }
    }

CalculationBase类中,我将变量声明为double breadth, height;并且我输入以下代码进行计算:

private void Calculations()
        {
            FormCheck();
            if (rect)
            {

                Debug.WriteLine("Rectangular is open");

                // Area
                Program.formRect.txtFormArea.Text = string.Format("A = {0} * {1}", b, h);
                if (millimeters)
                    i = (int)Math.Pow(10, 2);
                else if (centimeters)
                    i = (int)Math.Pow(10, 4);

                areaPrimair = Math.Round((b * h), 4);
                areaSecundair = Math.Round((areaPrimair / i), 4);

                Program.formRect.txtAreaPrimair.Text = areaPrimair.ToString();
                Program.formRect.txtAreaSecundair.Text = areaSecundair.ToString();
            }
        }

在ClickEvent中调用此函数:

private void btnCalculate_Click(object sender, EventArgs e)
        {
                try
                {
                    breadth = double.Parse(Program.formRect.txtBreadthInput.Text);
                    height = double.Parse(Program.formRect.txtHeightInput.Text);

                    Calculations();
                }
                catch(FormatException)
                {
                    MessageBox.Show("Some values are invalid. Please check your input.", "Invalid value");
                }
            }
        }

如前所述,我的程序继续显示FormatException的消息。

1 个答案:

答案 0 :(得分:1)

当您将空字符串或非数字字符串传递给Double.Parse("")时,您会得到一个形式感知。 在按下按钮

之前,请确保输入双字符串