使用 Google 搜尋本站文章:
首頁 | CodeCharge 討論板 | 部落格 | ASP.NET 電子書 | 所有文章 | 相簿 | News | 網站導讀 | 聯絡 Allen | 訂閱 RSS
Microsoft MVP 
since 2004 
 


[入門] 將字串處理為數字的方法

By Allen Kuo, 建立日期:2008/12/24 10:33 ,最後修改日期:2008/12/24 11:05
說明將字串的值,轉換成數字的處理方法
    加入書籤: 收進你的MyShare個人書籤

下載範例程式 

在寫表單存取資料庫, 或者在輸入查詢條件, 或者在撰寫購物車供人輸入購買數量時, 難免會需要提供 TextBox 讓人輸入值, 而且我們會希望使用者輸入的是數字

如果您想驗證使用者輸入的是數字, 可以用 ASP.NET 提供的驗證控制項就可以做到了。

但有時您仍需要去判斷字串變數值是不是可以順利地轉成數字, 例如網址裡xxx.aspx?id=xxx, 您想判斷 Request["id"] 的值是否能轉換成數字。

接下來我想用 TextBox 為例, 來說明如何處理它

首先, 我做了一頁 default0(如圖一), 並寫了一段程式, 利用 Convert.ToInt32(...) (如圖二), 將字串轉換成 int , 這段程式碼看來似乎 OK, 但如果使用者輸入的不是數字(如圖三), 就會發生錯誤(如圖四)


(圖一 default0.aspx)

 


(圖二 default0.aspx.cs 程式碼)

 


(圖三 故意輸入不是數字的內容)

 


(圖四 程式發生錯誤)

 

為了避免這個錯誤, 我在default.aspx.cs(如圖五) 使用 int.TryParse(...) 來判斷 TextBox 裡是不是數字, 若是才存入 value 變數裡, 如果不是數字,就在變數裡塞入 0,  最後顯示該變數值, 如此一來, 就不會發生錯誤了(如圖五, 會顯示 0)


(圖五 default.aspx)

 

接下來我在 default2.aspx裡放入 4 個 TextBox, 利用上述方法來取得各個 TextBox 的加總(如圖六, 七), 您可以看到程式仍運作正確, 程式寫到這裡, 算是 OK 了


(圖六 default2.aspx)

 


(圖七  default2.aspx.cs 程式碼)

 

由於將 TextBox 值,或其他字串判斷是否為數字,或日期, 算是很常用的功能, 如果您是寫 ASP.NET 3.5 版, 可以有別的寫法, 如圖八所示, 您可以寫一支 class 來擴充 string 的功能, 您可以看到這支程式其實就是我們先前寫的程式而已, 並沒有很特別, 但您參考圖九, 圖十, 便可以發現程式碼變得比較簡短, 也更好閱讀了


(圖八)


(圖九 default3.aspx.cs )


(圖十 default4.aspx.cs )

 

 

以上是說明字串轉換成數字時的方法, 您也可以按此要領將字串轉換成日期。

其他相關文章: 《[影片]如何使用擴充方法替一個既存的資料型別加入自訂功能》, 《[影片]如何使用擴充方法替一個既存的資料型別加入自訂功能》, 《擷取部份字串的值


Copyright © AllenKuo.com , 2000 - 2010