伊莉討論區
標題:
新手來發問 真的是很新的新手(剛寫完hello world...
[打印本頁]
作者:
s5508520
時間:
2015-8-20 04:52 PM
標題:
新手來發問 真的是很新的新手(剛寫完hello world...
本帖最後由 arthurliuliu 於 2015-9-2 07:51 AM 編輯
第一個可能發生的例外狀況類型 'System.FormatException' 發生於 mscorlib.dll
其他資訊: 輸入字串格式不正確。
string strl;
int price, qty;
Console.WriteLine();
Console.WriteLine(" 博碩電腦圖書廣場");
Console.WriteLine("======================");
Console.Write("1. 書名");
strl = Console.ReadLine(); //輸入書名並指定給strl變數
Console.Write("2. 售價"); //輸入售價並使用int.Parse()方法將輸入的資料轉成整數,並指定給qty
price = int.Parse(Console.ReadLine());
Console.Write("3. 數量"); //輸入數量並使用Convert.ToInt32()方法將輸入的資料轉成整數,在指定給qty
qty = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("=========================");
Console.WriteLine("4. 金額:{0}", price*qty);
Console.Read();
複製代碼
我偵錯 結果輸入到售價就出現最上面那個問題@@ 求大大教學
未依規定包覆程式碼,版主代為編輯。
作者:
u0084500
時間:
2015-8-21 09:06 AM
Hi, 你可能得先看一下這個
msdn.microsoft.com/zh-tw/library/bb397679.aspx
如果問題一樣應該可以試著先用try catch抓
然後改用tryParse
作者:
bbcaman
時間:
2015-8-22 12:24 PM
Hello, 可能要先確定輸入的是什麼值,
會不會是輸入到全形的數字??
全形的文字好像無法直接轉換成數值
不然就如同樓上所提到的,用 Int.TryParse()
作者:
mdlin
時間:
2015-8-22 09:41 PM
輸入的東西影問題.要確定輸入的是什麼. 裡面是否包含了無法轉換為數字的字元,
作者:
xoxo1100
時間:
2015-8-25 11:36 AM
你售價該不會有打到小數吧
是的話變數不能設int
作者:
n080925
時間:
2016-2-10 02:30 PM
第10行也改成
Convert.ToInt32()
這樣呢?
作者:
smallanan
時間:
2016-2-18 01:47 AM
推u0084500大大的方法
改用IF去判斷他回傳的是否轉換成功的狀態Int.TryParse()
true再把變數寫入price 裡
作者:
bigpig200126
時間:
2016-3-13 09:15 PM
看起來是輸入型態的問題,建議可以像樓上說的先包好一層Try Catch後,在看輸入的資料行別是否是String、int、decimal、float,在做適當的轉型,可以利用Intellence,輸入Convert.跳出的資料去篩選
歡迎光臨 伊莉討論區 (http://aaa.eyny.com/)
Powered by Discuz!