C#判斷字符串是否爲數字字符串

在進行C#編程時候,有的時候我們需要判斷一個字符串是否是數字字符串,我們可以通過以下兩種方法來實現。
方法一】:使用 try{} catch{} 語句。
      我們可以在try語句塊中試圖將string類型的字符串變量轉換爲int類型,如果該字符串不是數字字符串則會拋出異常,這時在catch語句塊中就能捕獲異常。一旦發現異常,則不是數字字符串。
我們可以以下三種方式將string類型轉換爲int類型。
(1)  int.Parse(string);
(2)  Convert.ToInt16(string);  //當數字字符串的位數大於4的時候請使用Convert.ToInt32()
(3)  Convert.ToInt32(string);

添加一個文本框TextBox1,和一個按鈕Button1,當點擊按鈕時,判斷文本框中的內容是否爲數字字符串,是的話則輸出轉換後的數值。

protected void Button1_Click(object sender, EventArgs e) 
{ 
        string message = TextBox1.Text.Trim(); 
        int result; 
        if(isNumberic(message,out result)) 
        { 
            string tt="<script>alert('匹配成功,轉換後的整數爲"+result+"')</script>"; 
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", tt); 
        } 
        else
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配失敗!')</script>"); 
} 
protected bool isNumberic(string message,out int result) 
{ 
       //判斷是否爲整數字符串 
       //是的話則將其轉換爲數字並將其設爲out類型的輸出值、返回true, 否則爲false 
        result = -1;   //result 定義爲out 用來輸出值 
        try
        { 
          //當數字字符串的爲是少於4時,以下三種都可以轉換,任選一種 
          //如果位數超過4的話,請選用Convert.ToInt32() 和int.Parse() 
  
          //result = int.Parse(message); 
          //result = Convert.ToInt16(message); 
            result = Convert.ToInt32(message);     
            return true; 
        } 
        catch
        { 
            return false; 
        } 
}


上述方法可以將int改爲double,如 double.Parse(),這樣就可以判斷是否爲浮點數字符串
方法二】:通過正則表達式來判斷。
      用正則表達式來驗證字符串是否爲數字字符串。我們要用到Regex類的isMatch()方法。該類在System.Text.RegularExpressions; 您可以通過using System.Text.RegularExpressions;導入命名空間來訪問Regex類。也可以直接通過System.Text.RegularExpressions.Regex 來訪問。

protected bool isNumberic(string message,out int result) 
{ 
        System.Text.RegularExpressions.Regex rex= 
        new System.Text.RegularExpressions.Regex(@"^\d+$"); 
        result = -1; 
        if (rex.IsMatch(message)) 
        { 
            result = int.Parse(message); 
            return true; 
        } 
        else
            return false; 
} 


通過正則表達式判斷是否匹配,不僅可以用來做簡單的判斷匹配,還可以進行精確的匹配,如判斷是否是六位的數字字符串,Email匹配等。正則表達式是一種很好的方法。

protected void Button1_Click(object sender, EventArgs e) 
{ 
        string message = TextBox1.Text.Trim(); 
        isNumeric(message); //判斷字符串是否爲5爲整數字符串 
} 
protected void isNumeric(string message) 
{ 
       if (message != "" && Regex.IsMatch(message, @"^\d{5}$")) 
       { 
          //成功 
          Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配通過!確實是五位的整數字符串')</script>"); 
       } 
       else
           //失敗 
           Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配失敗!')</script>"); 
} 


 

發佈了57 篇原創文章 · 獲贊 7 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章