C#验证输入的是否数字的几种方法


Posted on April 9, 2007


//方法一:
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)
{
    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#验证输入的是否数字的方法,其实用正则表达式也可以
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);
}

标签:N/A

 

在线学习答案查询入口
微信扫码联系
微信扫码联系