2012-08-01 62 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; 
    }