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

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:14  呆米  阅读(1388)  评论(0)    收藏  举报