输入后,invalidcastexception未处理c#错误

时间:2013-05-02 10:18:31

标签: c# math

我试图使用一个简单的程序计算方程,但是当我尝试运行我的代码时,我得到了这个异常

Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'.

我不知道我做错了什么方程似乎没问题,但那就是产生错误的这个方程我试图编码 my equation image

这是我的代码

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        double  r = 0;



        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            r = (((Math.Sqrt(2) * Convert.ToDouble(textBox4.Text)) /(2* Math.PI * Convert.ToDouble(textBox3.Text))) * (1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1)) );
            label7.Text = "R1 = " + r.ToString() + " ohms/km";

        }
    }
}

1 个答案:

答案 0 :(得分:2)

你的问题是你在排长队的末尾有这个问题:

(1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1))

需要textBox2.Text,因为您无法将文本框对象转换为double。

另外,为了便于阅读,不值得在一行中完成所有转换,而是一次一个地转换为单独的变量然后使用它们。这也会让你不太可能遇到这种类型的问题,因为它会更明显地出错。