转换“对象”类型的列表框项键入" intquot;

本文关键字:quot intquot 对象 类型 列表 转换 | 更新日期: 2023-09-27 18:11:20

所以我有一个项目,使银行账户系统与存款功能。但是,由于列表框中的项目类型为"object",我无法将输入的金额存入文本框。如何将列表框中项目的数据类型从"对象"更改为"double"?---------供参考:这是作业----------

我是这样声明数组的:

    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);
        }
    }

转换“对象”类型的列表框项键入" intquot;

问题是您没有向列表框添加double,而是添加了字符串,因为您在其前面添加了$字符。

设置

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

放在开头的某个地方(例如,在设计器中),然后添加没有美元符号的数字:

lstAccountBalances.Items.Add(balance);

之后,它们将保持double,您可以将它们从object转换回来