0

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

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

我不知道我做错了什么方程似乎没问题,但这就是产生错误的地方我试图编码的方程 我的方程式图像

这是我下面的代码

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

        }
    }
}
4

1 回答 1

2

您的问题是您在长线的末尾有这个:

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

那必须是textBox2.Text,因为您不能将文本框对象转换为双精度对象。

同样为了可读性,不应该在一行中进行所有转换,而是一次将它们转换为单独的变量,然后使用它们。它还可以使您不太可能遇到此类问题,因为它会更清楚哪里出了问题。

于 2013-05-02T10:20:49.083 回答