C#判斷字串是否為數字字串

來源:互聯網
上載者:User

標籤:rtu   script   system   title   文字框   keyword   button   table   string類   

在進行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,當點擊按鈕時,判斷文字框中的內容是否為數字字串,是的話則輸出轉換後的數值。

?
1234567891011121314151617181920212223242526272829303132 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來判斷。
      用Regex來驗證字串是否為數字字串。我們要用到Regex類的isMatch()方法。該類在System.Text.RegularExpressions; 您可以通過using System.Text.RegularExpressions;匯入命名空間來訪問Regex類。也可以直接通過System.Text.RegularExpressions.Regex 來訪問。

 

?
12345678910111213 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;}


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

?
12345678910111213141516 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>");}
C#判斷字串是否為數字字串

C#判斷字串是否為數字字串

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.