国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:37:58
字體:
來源:轉載
供稿:網友

本文使用兩種方法實現了在C#中判斷一個字符串是否為數字字符串的方法。第一種方法借助try...catch塊,在轉換過程中是否出錯來進行;地種方法是使用正則表達式。

【方法一】:借助 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>");
       }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 廉江市| 政和县| 桑植县| 九江市| 鄄城县| 鲁甸县| 健康| 怀柔区| 云浮市| 普洱| 云林县| 临江市| 凉城县| 郯城县| 上犹县| 桦南县| 随州市| 太和县| 武清区| 岫岩| 三门峡市| 郯城县| 广南县| 鹤壁市| 光泽县| 永善县| 久治县| 郧西县| 安康市| 岢岚县| 德兴市| 建湖县| 元江| 兴文县| 高雄市| 高邮市| 郁南县| 施甸县| 墨江| 开江县| 衡阳市|