最近收集整理了一些输入是否为数字的几种方法

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

}
 
posted on 2005-11-18 16:31  呆米  阅读(743)  评论(0)    收藏  举报