我正在製作一個清單程序,要求用戶輸入他們想要購買的各種數量的不同物品。我使用這一行將項目數轉換爲雙打,所以我可以計算,但我得到一個錯誤,指出我有一個未處理的格式異常,即輸入字符串的格式不正確。有什麼我失蹤了嗎?使用Convert.ToDouble時發生異常
itembatteries = Convert.ToDouble(txtNumberofBatteries.Text);
我正在製作一個清單程序,要求用戶輸入他們想要購買的各種數量的不同物品。我使用這一行將項目數轉換爲雙打,所以我可以計算,但我得到一個錯誤,指出我有一個未處理的格式異常,即輸入字符串的格式不正確。有什麼我失蹤了嗎?使用Convert.ToDouble時發生異常
itembatteries = Convert.ToDouble(txtNumberofBatteries.Text);
您可以嘗試使用double.TryParse
代替。如果txtNumberofBatteries.Text不是double的有效字符串表示形式,這將停止異常。
例如:
double itembatteries;
if (double.TryParse(txtNumberofBatteries.Text, out itembatteries))
{
//Something with itembatteries
}
else
{
//Show Error: you didn't type a number
}
這將抑制來自Convert.ToDouble的錯誤,但它不會幫助OP將TextBox.Text變成雙精度。 –
怎麼樣,'itembatteries'將包含文本框中的值? – DaveShaw
那麼爲什麼不Convert.ToDouble(txtNumberofBatteries.Text)的工作? –
如果輸入字符串不是以正確的格式被轉換爲一個雙Convert.ToDouble失敗。正確的格式取決於您的區域設置使用double.TryParse代替。順便說一下,這是所有寫在MSDN上,並做一點搜索之前,問這裏總是最好的路徑 – Steve
什麼是導致它的字符串?如果它不是雙倍的,那就是爲什麼。 – dman2306
你在文本框中輸入什麼內容?此外,根據您的文本框名稱,您可能希望將其轉換爲「int」而不是「double」,因爲電池非常困難。 –