2014-11-02 80 views
-3

我正在计算四个文本框值的平均值并将其分配给一个标签,但是这个 错误出现了。不知道什么是真正的问题。这里是我的代码:无法投射'System.Windows.Forms.TextBox'类型的对象来键入'System.IConvertible'

private void button2_Click(object sender, EventArgs e) 
    { 
     label17.Text = ((Convert.ToDecimal(textBox1.Text) + Convert.ToDecimal(textBox2) + Convert.ToDecimal(textBox3.Text) + Convert.ToDecimal(textBox4.Text))/4).ToString(); 
    } 
+0

检查我的答案,并告诉我,如果有什么不清楚! – mybirthname 2014-11-03 00:03:02

回答

2

Convert.ToDecimal(textBox2)

...应该是:

Convert.ToDecimal(textBox2.Text)

+0

hi.thanks.I已更正它,但出现了另一个错误: 输入字符串格式不正确。 – 2014-11-02 23:53:40

+2

@newbie_pro - 然后问另一个问题 - 不要把它放在另一个答案的评论。 – Enigmativity 2014-11-03 00:03:37

+0

@newbie_pro你没有解决所有问题。 – Gusdor 2014-11-03 08:14:03

1
private void button2_Click(object sender, EventArgs e) 
    { 
     decimal value1 = 0; 
     decimal value2 = 0; 
     decimal value3 = 0; 
     decimal value4 = 0; 

     decimal.TryParse(textBox1.Text, out value1); 
     decimal.TryParse(textBox2.Text, out value2); 
     decimal.TryParse(textBox3.Text, out value3); 
     decimal.TryParse(textBox4.Text, out value4); 

     label17.Text = ((value1+value2+value3+value4)/4).ToString() 
    } 

您在转换的一个怀念textbox2.Text。如果文本的格式值不是数字,则转换器将返回错误(如果我编写'123a',则示例)。因此,您应该使用TryParse方法。

+0

嗨,谢谢!我试过这个,但为decimal.TryParse(textBox11.Text,value1);有错误,它说有一些无效的论点。任何帮助?.. – 2014-11-03 00:09:01

+0

它应该是'decimal.TryParse(textBox1.Text,out value1);' - 你错过了'out'关键字。 – Tim 2014-11-03 00:17:39

+0

终于,它的作品!感谢大家!! – 2014-11-03 00:22:43

相关问题