2012-08-01 53 views
-1

任何人,请看看我的代码行。计算过程中的错误信息

int totalValue = 0; 
    totalValue = int.Parse(Label9.Text) * int.Parse(Label6.Text); 
    Label8.Text = **totalValue**; 

为什么我收到错误消息?

不能隐式地将int类型转换为字符串。

感谢您的帮助。

+2

使用totalValue.ToString() – Vinoth 2012-08-01 06:07:44

回答

4

您应该将int转换为字符串。事情是这样的:

Label8.Text = totalValue.ToString(); 

或者这样:

Label8.Text = totalValue + ""; 
+0

这将不会编译。 – gilly3 2012-08-01 06:14:26

+0

@ gilly3:哪一个不会编译? – 2012-08-01 06:17:37

+2

@ gilly3真的吗?它适用于.net 4.我可以让我看看编译器输出? – 2012-08-01 06:22:14

1

这是因为totalValueint

试试这个:

Label8.Text = totalValue.ToString(); 
1

试试这个:

int totalValue = 0; 
totalValue = int.Parse(Label9.Text) * int.Parse(Label6.Text); 
Label8.Text = totalValue.ToString(); 
+0

此外,如果您没有以其他方式处理它,如果标签包含字母而不是数字,则您的代码将导致错误。 而不是int.parse这样使用int.tryparse(label9.text),如果转换失败,结果将是0而不是异常 – wterbeek 2012-08-01 06:15:12

1

使用的文字并不能直接使用的好方法,如果有什么解析失败了呢?

使用

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