2014-11-02 86 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

相關問題