程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#驗證輸入的是否數字的方法

C#驗證輸入的是否數字的方法

編輯:關於C語言
其實用正則表達式也可以
static bool IsNumeric(string str)
{
if (str==null || str.Length==0)
return false;
foreach(char c in str)
{
if (!Char.IsNumber(c))
{
return false;
}
}
return true;
}

正則表達的寫法是:


static bool IsNumeric(string str)
{
System.Text.RegularExpressions.Regex reg1
= new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
return reg1.IsMatch(str);
}


其實最單的是用VB.Net中的函數,以下代碼段
using Microsoft.VisualBasic

Information.IsNumeric(str_input)
返回true或false判斷是否數字
不過在編譯時要加上-lMicrosoft.VisualBasic才能編譯成功
CSDN 網友 ( 2005-11-24)
那如果直接這麼作呢
try{
float f=float.parse(temp);
}
catch(exception ex)
{
MessageBox.Show("這不是數字");
}
dancefire ( 2005-11-13)
我覺得正則表達式不太正確,小數點前面的前導零應該允許省略,小數點後面的0,也允許省略,但不允許單獨以小數點形式出現。你的這個表達式無法滿足前導零省略的情況。而且,最重要的,"."在正則表達式中表示任意字符,因此,對於你的表達式,2a2,也能夠通過測試。
^[-]?\d+[.]?\d*$

應該改為如下所示:
^[-]?(\d+\.?\d*|\.\d+)$ 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved