作者leicheong (睡魔)
看板Programming
標題Re: VB6.0 的溢位問題
時間Sun Oct 14 16:32:32 2007
※ 引述《DRAGONLL (要研不要延)》之銘言:
: 在VB6.0中如果產生溢位的話 會跳出錯誤的訊息
: 但是我想照樣把值算出來
: 請問有辦法處理嗎??
: code======
: Private Sub Command1_Click()
: Dim c As Integer
: a = Val(Text1.Text): b = Val(Text2.Text)
: c = a + b
: Text3.Text = c
: End Sub
: ===젩
為什麼不把c宣告成long(32-bit integer)?
如果要算64bit或以上, 請自行把Text1和Text2的值先割成有最大固定
長度(這長度看你要用Integer或是Long了...), 再自行implement
"Add with carry"功能. (只是要做加數的話應不會太難...)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.73.77.181
1F:推 DRAGONLL:因為我要實際輸出溢位產生的結果 211.74.182.161 10/14 16:46
2F:→ DRAGONLL:並且和宣告成long的結果進行比較 211.74.182.161 10/14 16:47
3F:→ DRAGONLL:C 語言則是可以直接輸出溢位結果 211.74.182.161 10/14 16:48
4F:→ DRAGONLL:才想請問VB有沒辦法輸出,麻煩了~! 211.74.182.161 10/14 16:49
5F:→ sunneo:那也許要從"關閉overflow exception"做起220.132.228.138 10/14 19:22
6F:推 DRAGONLL:請問關閉"關閉overflow exception"的選項 211.74.182.161 10/14 19:33
7F:→ DRAGONLL:在哪裡呢...路徑是? 211.74.182.161 10/14 19:34
8F:→ sunneo:我只是給個方向而已 =3=...不確定有沒有220.132.228.138 10/14 19:50
9F:→ sunneo:不然你用個exception handler去抓看看?220.132.228.138 10/14 19:51