1

基本上我有一台自动售货机,总价将显示在标签中。现在有一个显示货币的组合框,例如 1.00 、 2.00 、 5.00 等。

现在我想用 if 语句来检查从组合框中选择的钱与总价相比是大还是小。

代码不工作

if (cbMoney.SelectedItem < total)
{
   MessageBox.Show("Not Enough Money");
}

错误描述:运算符“<”不能应用于“object”和“double”类型的操作数

4

3 回答 3

2

SelectedItem 是一个对象,需要对其进行解析。

if (double.Parse(cbMoney.SelectedItem.ToSTring()) < total)
{
    MessageBox.Show("Not Enough Money");
}

http://msdn.microsoft.com/en-us/library/system.double.parse(v=vs.110).aspx

于 2013-11-07T14:51:03.183 回答
2

你们怎么知道总类型?

if (Convert.ToDouble(cbMoney.SelectedItem.ToString()) < Convert.ToDouble(total))
{
  MessageBox.Show("Not Enough Money");
}
于 2013-11-07T14:58:06.970 回答
1

您正在使用 SelectedItem 对象而不是在检查之前进行转换。

尝试如下:

if (Convert.ToDouble(cbMoney.SelectedItem.ToString()) < total)
{
  MessageBox.Show("Not Enough Money");
}
于 2013-11-07T14:51:09.297 回答