C#判断字符串是否为数字字符串
在進(jìn)行C#編程時候,有的時候我們需要判斷一個字符串是否是數(shù)字字符串,我們可以通過以下兩種方法來實現(xiàn)。
【方法一】:使用 try{} catch{} 語句。
????? 我們可以在try語句塊中試圖將string類型的字符串變量轉(zhuǎn)換為int類型,如果該字符串不是數(shù)字字符串則會拋出異常,這時在catch語句塊中就能捕獲異常。一旦發(fā)現(xiàn)異常,則不是數(shù)字字符串。
我們可以以下三種方式將string類型轉(zhuǎn)換為int類型。
(1)? int.Parse(string);
(2)? Convert.ToInt16(string);? //當(dāng)數(shù)字字符串的位數(shù)大于4的時候請使用Convert.ToInt32()
(3)? Convert.ToInt32(string);
添加一個文本框TextBox1,和一個按鈕Button1,當(dāng)點(diǎn)擊按鈕時,判斷文本框中的內(nèi)容是否為數(shù)字字符串,是的話則輸出轉(zhuǎn)換后的數(shù)值。
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | protected void Button1_Click(object sender, EventArgs e) { ????????string message = TextBox1.Text.Trim(); ????????int result; ????????if(isNumberic(message,out result)) ????????{ ????????????string tt="<script>alert('匹配成功,轉(zhuǎn)換后的整數(shù)為"+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) { ???????//判斷是否為整數(shù)字符串 ???????//是的話則將其轉(zhuǎn)換為數(shù)字并將其設(shè)為out類型的輸出值、返回true, 否則為false ????????result = -1;?? //result 定義為out 用來輸出值 ????????try ????????{ ??????????//當(dāng)數(shù)字字符串的為是少于4時,以下三種都可以轉(zhuǎn)換,任選一種 ??????????//如果位數(shù)超過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(),這樣就可以判斷是否為浮點(diǎn)數(shù)字符串
【方法二】:通過正則表達(dá)式來判斷。
????? 用正則表達(dá)式來驗證字符串是否為數(shù)字字符串。我們要用到Regex類的isMatch()方法。該類在System.Text.RegularExpressions; 您可以通過using System.Text.RegularExpressions;導(dǎo)入命名空間來訪問Regex類。也可以直接通過System.Text.RegularExpressions.Regex 來訪問。
?
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 | 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; } |
通過正則表達(dá)式判斷是否匹配,不僅可以用來做簡單的判斷匹配,還可以進(jìn)行精確的匹配,如判斷是否是六位的數(shù)字字符串,Email匹配等。正則表達(dá)式是一種很好的方法。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | protected void Button1_Click(object sender, EventArgs e) { ????????string message = TextBox1.Text.Trim(); ????????isNumeric(message); //判斷字符串是否為5為整數(shù)字符串 } protected void isNumeric(string message) { ???????if (message != "" && Regex.IsMatch(message, @"^\d{5}$")) ???????{ ??????????//成功 ??????????Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配通過!確實是五位的整數(shù)字符串')</script>"); ???????} ???????else ???????????//失敗 ???????????Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配失敗!')</script>"); } |
C#判斷字符串是否為數(shù)字字符串
轉(zhuǎn)載于:https://www.cnblogs.com/wenjie0904/p/7679639.html
總結(jié)
以上是生活随笔為你收集整理的C#判断字符串是否为数字字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdk和maven配置
- 下一篇: fs-extra导出换行txt文件