2013-04-29 75 views
1

因此,我有一個項目可以創建具有存款功能的銀行賬戶系統。但是,我不能將輸入的金額存入文本框,因爲列表框中的項目是「object」類型的。如何將列表框中項目的數據類型從「object」更改爲「double」。 --------- FYI:THIS IS HOMEWORK ----------將「objects」類型的列表框項目轉換爲類型「int」

這是怎麼了我宣佈我的數組:

double[] accountbalances = {1348.36, 4456.63,2247.50,8175.86,4721.83,7815.35,3573.02,1603.53,4732.36, 2620.32}; 

    string[] accountnumbers = {"991364", "103655", "830087", "963216", "216329", "546188", "969200", "211794", "992629", "451876"}; 

這是我有我

foreach (double balance in accountbalances) 
     { 
      lstAccountBalances.Items.Add(("$") + balance); 
     } 
     foreach (string account in accountnumbers) 
     { 
      lstAccountNumbers.Items.Add(account); 
     } 

我想補充(depositamount)到所選擇的帳戶列表框中,但它返回一個錯誤說鑄件是錯誤的,在列表框中的項目類型「:在下拉列表中顯示陣列對象「而不是像我爲數組定義的那樣鍵入double。

private void button2_Click(object sender, EventArgs e) 
    { 
     double depositamount = double.Parse(textBox1.Text); 

     if (depositamount > 0 && lstAccountNumbers.SelectedIndex != -1) 
     { 
      int account = lstAccountNumbers.SelectedIndex; 

      double balance = (double)lstAccountBalances.Items[account]; 

      lstAccountNumbers.Items[account] = depositamount + balance; 
     } 
     else 
     { 
      MessageBox.Show("Enter Value Geater Than 0 and Select An Account Number ", "INVALID", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 
+0

這個'C#'正確嗎?你應該更新標籤。 – squiguy 2013-04-29 02:06:49

+0

是的,我的錯誤。 – Mannie 2013-04-29 02:09:30

+1

現在很多人會看起來很流行的語言。祝你好運! – squiguy 2013-04-29 02:11:38

回答

1

的問題是,你還沒有加入雙到列表框,而是一個字符串,而不是,因爲你在它前面加$字符。

設置

lstAccountBalances.FormatString = "c"; // c means currency 

某處開始(在設計,例如),然後添加數沒有美元符號:

lstAccountBalances.Items.Add(balance); 

,他們將保持double並且你可以將它們從object

+0

它總是那些小東西-____-非常感謝您指出這一點。 – Mannie 2013-04-29 03:39:54