计算过程中的错误信息
任何人,请看看我的代码行。计算过程中的错误信息
int totalValue = 0;
totalValue = int.Parse(Label9.Text) * int.Parse(Label6.Text);
Label8.Text = **totalValue**;
为什么我收到错误消息?
不能隐式地将int类型转换为字符串。
感谢您的帮助。
您应该将int转换为字符串。事情是这样的:
Label8.Text = totalValue.ToString();
或者这样:
Label8.Text = totalValue + "";
这将不会编译。 – gilly3 2012-08-01 06:14:26
@ gilly3:哪一个不会编译? – 2012-08-01 06:17:37
@ gilly3真的吗?它适用于.net 4.我可以让我看看编译器输出? – 2012-08-01 06:22:14
这是因为totalValue
是int
。
试试这个:
Label8.Text = totalValue.ToString();
试试这个:
int totalValue = 0;
totalValue = int.Parse(Label9.Text) * int.Parse(Label6.Text);
Label8.Text = totalValue.ToString();
此外,如果您没有以其他方式处理它,如果标签包含字母而不是数字,则您的代码将导致错误。 而不是int.parse这样使用int.tryparse(label9.text),如果转换失败,结果将是0而不是异常 – wterbeek 2012-08-01 06:15:12
使用的文字并不能直接使用的好方法,如果有什么解析失败了呢?
使用
int? val1=GetInt32(Label9.Text);
int? val2=GetInt32(Label6.Text);
if(val1!=null&&val2!=null)
{
int totalValue = 0;
totalValue = val1+val2;
Label8.Text = totalValue.ToString();
}
//You can also write your own logic on the TextBoxs if they did not contain a valid value by checking if val1 or val2 are null or not
使用函数返回int值如果输入可以被转换。
public int? GetInt32(string s)
{
int i;
if (Int32.TryParse(s, out i)) return i;
return null;
}
使用totalValue.ToString() – Vinoth 2012-08-01 06:07:44