方法一: 
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;
  }
}