Re: [問題] Parse,TryParse,與字串轉換問題
※ 引述《aa12783509 (Ace)》之銘言:
: 各位在這邊的大大們 本人最近在外面上課學習網頁的部分
: 剛好有交到C#的部分 有一些問題
: 因為自己以前是學習C++的部分 所以前半段的課程會些許簡單
: 會想要自己去摸索一些自己覺得有興趣的地方
: 雖然不知道要發在Web_Design比較好 還是這邊
: 如有問題 會在下次發問注意的 往後會多在這邊發文麻煩各位了><
: --------------------------------------------------
: 就在今天講到了溫度的轉換例題 這個在C++的部分對我來講很簡單
: 要cin , cout都不是什麼問題 那在C#的部分也想要這樣來搞搞看
: 因為C#的部分是網頁的 不像是有CMD的部分可以自己輸入
: 那好奇心作祟 就使用了TextBox的部分來讓他可以輸入
: 那因為TextBox的值是字串 所以要轉換為數值才能做運算
: 以下這部分是我自己邊找資料、邊想的程式碼
: string boxtxt = TextBox1.Text;
: double k, num;
: //double num = double.Parse(TextBox1.Text);
: double.TryParse(TextBox1.Text, out num);
: k = num * 9 / 5 + 32;
: Response.Write("華氏溫度 = " + k);
: 1.我想要問一下說 這樣的寫法有沒有其他比較好的
: 我有去跑過這樣是可行的 但是不知道這樣算不算是OK的
: 感覺有點像是東湊西湊湊出來的XDDD
OK
: 2.那我想要問的是我註解的那一行是使用Parse的部分不會有底線的
: 但是實際下去Run了之後 他會顯示什麼給的字串有問題 那這個有辦法解決嘛!?
: 括號裡面有試過TextBox1.Text boxtxt 加上雙引號 都是沒有問題 但run就會出現狀況
Debug 時出問題記得要給錯誤訊息別人才知道是什麼問題
我是不清楚版上有多少人會通靈,但我想大部分人應該都不會
不過用 Parse 會出錯誤通常是字串格式錯誤 (非數字格式字串)
Empty、空格都會算是錯誤,所以如果要用 Parse
要嘛除非確定輸入一定是正確格式,不然就要先檢查或用 Try Catch 包起來
: 3.有看到有資料說 使用TryParse字串轉換成功 > Parse!? 會比較建議用TryParse嘛!?
如我剛才所說,用 TryParse 或用 Parse 都可以
如果輸入不確定一定是正確格式,那會建議用 TryParse
但若確定一定會是正確格式
或者你在轉換前會自行先檢查、或者用 Try Catch 包起來的話,用 Parse 也沒差
: 4.最後想要問的說 像這種轉換有什麼比較通用的寫法或作法嗎!? 似乎看到蠻多種的!
: 因為好像有看到用什麼 int.~~~ 或者是 Int32.~~~~ 好像還有Conver.ToDouble();
double 是雙精準浮點數,int 跟 int32 一樣是整數
如同 double.Parse(input) 會把來源轉成雙精準浮點數資料型態
int.Parse(input) 就是把來源轉成整數資料型態
另外 Convert 類別在 MSDN 寫得很詳細
https://msdn.microsoft.com/zh-tw/library/system.convert(v=vs.110).aspx
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.3.123
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1517450067.A.F7A.html
※ 編輯: ssas1115577 (218.173.3.123), 02/01/2018 09:57:11
推
02/01 13:45,
6年前
, 1F
02/01 13:45, 1F
→
02/01 13:45,
6年前
, 2F
02/01 13:45, 2F
推
02/01 17:43,
6年前
, 3F
02/01 17:43, 3F
推
02/01 20:12,
6年前
, 4F
02/01 20:12, 4F
→
02/01 20:12,
6年前
, 5F
02/01 20:12, 5F
→
02/01 20:13,
6年前
, 6F
02/01 20:13, 6F
→
02/01 20:13,
6年前
, 7F
02/01 20:13, 7F
→
02/01 20:14,
6年前
, 8F
02/01 20:14, 8F
→
02/01 20:16,
6年前
, 9F
02/01 20:16, 9F
推
02/01 20:19,
6年前
, 10F
02/01 20:19, 10F
→
02/01 20:19,
6年前
, 11F
02/01 20:19, 11F
→
02/01 20:23,
6年前
, 12F
02/01 20:23, 12F
→
02/01 20:23,
6年前
, 13F
02/01 20:23, 13F
→
02/01 20:24,
6年前
, 14F
02/01 20:24, 14F
→
02/01 20:24,
6年前
, 15F
02/01 20:24, 15F
→
02/01 20:24,
6年前
, 16F
02/01 20:24, 16F
→
02/01 20:25,
6年前
, 17F
02/01 20:25, 17F
推
02/01 23:02,
6年前
, 18F
02/01 23:02, 18F
→
02/02 08:20,
6年前
, 19F
02/02 08:20, 19F
→
02/02 08:20,
6年前
, 20F
02/02 08:20, 20F
→
02/02 08:37,
6年前
, 21F
02/02 08:37, 21F
→
02/02 08:37,
6年前
, 22F
02/02 08:37, 22F
推
02/02 10:05,
6年前
, 23F
02/02 10:05, 23F
→
02/02 10:05,
6年前
, 24F
02/02 10:05, 24F
→
02/02 10:06,
6年前
, 25F
02/02 10:06, 25F
推
02/02 10:09,
6年前
, 26F
02/02 10:09, 26F
→
02/02 10:09,
6年前
, 27F
02/02 10:09, 27F
→
02/02 10:10,
6年前
, 28F
02/02 10:10, 28F
推
02/02 15:16,
6年前
, 29F
02/02 15:16, 29F
→
02/02 15:16,
6年前
, 30F
02/02 15:16, 30F
→
02/02 15:16,
6年前
, 31F
02/02 15:16, 31F
→
02/02 15:16,
6年前
, 32F
02/02 15:16, 32F
→
02/02 15:16,
6年前
, 33F
02/02 15:16, 33F
→
02/02 15:16,
6年前
, 34F
02/02 15:16, 34F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):