我试图使用一个简单的程序计算方程,但是当我尝试运行我的代码时,我得到了这个异常
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";
}
}
}
答案 0 :(得分:2)
你的问题是你在排长队的末尾有这个问题:
(1/Convert.ToDouble(textBox2) +1/Convert.ToDouble(textBox1))
需要textBox2.Text
,因为您无法将文本框对象转换为double。
另外,为了便于阅读,不值得在一行中完成所有转换,而是一次一个地转换为单独的变量然后使用它们。这也会让你不太可能遇到这种类型的问题,因为它会更明显地出错。