我试图计算不同物体的面积。所有这些对象都有自己的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的消息。
答案 0 :(得分:1)
当您将空字符串或非数字字符串传递给Double.Parse("")
时,您会得到一个形式感知。
在按下按钮