转换“对象”类型的列表框项键入" 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);
}
}
问题是您没有向列表框添加double,而是添加了字符串,因为您在其前面添加了$
字符。
设置
lstAccountBalances.FormatString = "c"; // c means currency
放在开头的某个地方(例如,在设计器中),然后添加没有美元符号的数字:
lstAccountBalances.Items.Add(balance);
之后,它们将保持double
,您可以将它们从object
转换回来