2013年3月26日 星期二

checked檢查有無溢出

下面紀錄 型態範圍溢出的處理方式
使用int 型態
如果超過2,147,483,648 至2,147,483,647 將 SHOW出訊息告知




private void btn_Get_Click(object sender, EventArgs e)
        {
            int bt_One, bt_Two;//定義兩個int類型變數
                               //int範圍在-2,147,483,648 至2,147,483,647
            //把textbox.text 1跟2 分別 out進 bt1,bt2
            //如果輸入不是數值 回傳false跳到 最下面的else區
            //在做個IF判斷  當TryPsrse的兩個條件為true 繼續執行下方 checked判斷是否溢出
            if (int.TryParse(txt_Add_One.Text, out bt_One) && int.TryParse(txt_Add_Two.Text, out bt_Two))
            {
                try
                {
                    checked { bt_One += bt_Two; }//checked判斷兩數值是否超過
                                                 //-2,147,483,648 至2,147,483,647
                    //如果超過  跳到 catch show 出 messagebox
                    txt_Result.Text = bt_One.ToString();//輸出相加後的結果
                }
                catch (OverflowException ex)
                {
                    MessageBox.Show("種數已經溢出來了", "出錯!");//輸出異常訊息
                }
            }
            else
            {
                MessageBox.Show("請輸入-2,147,483,648 至2,147,483,647
以內的數字!");//輸出錯誤訊息
            }
        }

沒有留言:

張貼留言