方法一:
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;
}
方法二:
private bool IsNumeric(string s)
private bool IsNumeric(string s)
{
char ch0 = '0';
char ch9 = '9';
for(int i=0; i < s.Length; i++)
{
if ((s[i] < ch0 || s[i] > ch9))
{
this.lblwarning.Text="此處應輸入整數且非負!";
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);
}
方法四:(可擴充)
public static bool IsConvert(string Expression,Type DataType)
{
switch(DataType.Name)
{
case "Double":
try
{
Double.Parse(Expression);
return true;
}
catch
{
return false;
}
case "DateTime":
try
{
DateTime.Parse(Expression);
return true;
}
catch
{
return false;
}
default:
return true;
}
}
C#驗證輸入的是否數位方法
其實用Regex也可以
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);
}