试图在C#上创建点钞机,并得到一个称为costofcredit的整数错误,我已经将此声明为int,然后单击了一个按钮,它将在其上加1p,并且在该按钮内有代码的
costofcredit = Convert.ToInt32(textCPC);
这是我收到以下消息的地方,是我的整个代码
if (textCPC.Text != "0")
{
onepence = onepence + 1
label1p.Text = onepence.ToString();
totalpence = totalpence + 1;
textTPV.Text = totalpence.ToString();
totalpounds = totalpence / 100;
textTPVal.Text = totalpounds.ToString("n2");
costofcredit = Convert.ToInt32(textCPC);
amountofcredits = Convert.ToInt32(totalpence) / costofcredit;
textAPC.Text = amountofcredits.ToString();
else
{
MessageBox.Show("Please enter the cost per credit!");
}
答案 0 :(得分:1)
因为textCPC
TextBox类未实现System.IConvertible
接口。
使用Convert.ToInt32
时,该对象需要实现System.IConvertible
Convert.ToInt32(textCPC.Text);
代替
Convert.ToInt32(textCPC);
答案 1 :(得分:0)
您正在使用textCPC
,我相信这是一个TextBox。您需要TextBox的值,因此应使用textCPC.Text
。
答案 2 :(得分:0)
您正在尝试将textCPC
本身(它是一个TextBox控件)转换为整数值,而您应该使用textCPC.Text
将其转换为整数值。因此,只需更改
Convert.ToInt32(textCPC);
收件人
Convert.ToInt32(textCPC.Text);
尝试使用[Int32.TryParse]
1,以便在您输入错误的数据时不会出现异常。或者只是在try/catch
语句中使用它。
答案 3 :(得分:0)
正如我在评论中已经说过的那样,您需要像这样.Text
转换textCPC的Convert.ToInt32(textCPC.Text)
属性,如果textbox textCPC的Value
是整数值,则可以看到您如何不使用try catch进行异常处理,以防用户输入非整数的情况下使用System.Int32.TryParse
:
//Declare an out parameter of type int
int outIntCheck = 0;
//Check to see if you can successfully parse an integer value
if(System.Int32.TryParse(textCPC.Text, out outIntCheck)
costofcredit = outIntCheck;
else
//Show incorrect integer format error
答案 4 :(得分:0)
private void saveButton_Click(object sender, EventArgs e)
{
TaskEmployee taskEmployee = new TaskEmployee();
TaskEmployeeBLL taskEmployeeBLL = new TaskEmployeeBLL();
Task1 task1 = new Task1();
int employeeid = Convert.ToInt32(employeeNameShowComboBox.SelectedValue);
bool save = false;
foreach (ListViewItem itemRow in taskShowListView.Items)
{
if (itemRow.Selected == true)
{
int taskId = Convert.ToInt32(itemRow.SubItems[0].Text);
string taskDate = itemRow.SubItems[1].ToString();
string taskDescription = itemRow.SubItems[2].ToString();
task1.TaskID = taskId;
task1.TaskDate = taskDate;
task1.TaskDescription = taskDescription;
taskEmployee.EmployeeId = employeeid;
save = taskEmployeeBLL.TaskEmployeeSaveShow(taskEmployee, task1);
}
}
if (save)
{
MessageBox.Show("save success");
}
else
{
MessageBox.Show("Don't save");
return;
}
}