2013-02-28 92 views
-4

我收到一個「輸入字符串的不正確的格式」錯誤下面提到代碼:輸入字符串的不正確的格式錯誤

Convert.ToInt32(TextBox2.ToString()); 
+2

我們應該怎麼知道?我們沒有解析字符串的值。 – LukeHennerley 2013-02-28 09:50:49

+0

您從文本框中傳遞什麼值?它是否包含小數? – 2013-02-28 09:51:28

+0

這是非常直截了當的,你嘗試變成Int32的字符串中的一個或另一個(或兩者)不是字符串格式的整數,所以不能轉換爲整數。 – SpaceBison 2013-02-28 09:52:28

回答

6

而不是TextBox2.ToString()需要TextBox2.Text被解析爲整數。您需要使用Text屬性來獲取TextBox中的文本。

所以下面的檢查將失敗:

if (Convert.ToInt32(Carton_Qty_Bal) < Convert.ToInt32(TextBox2.ToString())) 
                 ^^^^^^^^^^^^^^^^ 

而且你不必調用ToString的Text屬性就像你在你的代碼做,因爲Text已經是字符串類型。

TextBox1.Text.ToString() 

(你應該看看Int32.TryParse方法更安全整數解析)

+0

感謝噸哈比...它的工作 – Aditya 2013-02-28 09:53:59

+0

@Aditya,不客氣 – Habib 2013-02-28 09:54:59

+0

感謝您的建議 – Aditya 2013-02-28 09:56:00

0

我懷疑你的錯誤是下降到試圖解析

Textbox.ToString()

嘗試使用TextBox.Text而不是你解析表示文本框對象的字符串。

+0

是的。謝謝盧克 – Aditya 2013-02-28 09:55:21

0

您的代碼

if (Convert.ToInt32(Carton_Qty_Bal) < Convert.ToInt32(TextBox2.ToString())) 

不使用文本框的Text財產。

您正在使用TextBox2.ToString(),它返回TextBox類型的字符串表示形式。使用Text屬性並將代碼更改爲TextBox2.Text

但要小心:您應該檢查TextBox.Text屬性的值以確保有效的數字輸入。