2013-10-24 75 views
0

我試圖在C#中將string轉換爲short。 但我不斷收到格式異常是未處理的錯誤。將字符串轉換爲短C時的格式異常#

short copies = short.Parse(mainForm.quantityBox.Text); 
printDocument.PrinterSettings.Copies = copies; 

quantityBox中的值爲「1」。

的Visual Studio中給我的提示是不是真的有幫助 EG:「將字符串轉換爲datetime時解析字符串將每個變量之前採取的日期」

+1

常量「mainForm.quantityBox.Text」中的值是什麼 – Saravanan

+0

什麼是excel文本框的值重刑? –

+0

向我們展示了一些示例輸入。它是在不同的文化中,有貨幣符號或分隔符......! – Anirudha

回答

0

嘗試增加一個ToString電話:

short copies = short.Parse(mainForm.quantityBox.Text.ToString()); 

你得到異常的原因是因爲quantityBox的值爲1,其中 是一個int。 short.Parse()接受一個字符串,因此通過將quantityBox.Text的內容轉換爲 ToString(),不管它給出的值是什麼,它都會被轉換爲一個字符串。

+0

「不能隱式地將類型字符串轉換爲簡寫」那就是我所得到的。 –

+0

@Esat_K我編輯了我的答案 –

1

如果您的輸入文本值爲「。」,則會發生格式異常。 (點)。最好更換或處理此點(。)以避免出現「Input string was not in a correct format.」。

這將引發錯誤:

short val = short.Parse("4.0");     

這不會引發任何錯誤:

short val1 = short.Parse("4");    
0

短關鍵字根據在所示的尺寸和範圍表示存儲值的積分數據類型如下Blog

相關問題