C#类型转换类(通用类)


//
     /// 类型转换类
     /// 处理数据库获取字段为空的情况
     ///
     public  static class DBConvert
     {
         #region------------------ToInt32类型转换------------------
         ///
         /// 读取数据库中字符串并转换成Int32
         /// 为空时返回0
         ///
         /// object类型的值
         /// Int32类型
         public  static int ToInt32(object obj)
         {
             int  result = 0;
             if  (IsInt(Convert.ToString(obj)))
             {
                 result = Convert.ToInt32(obj);
             }
             else  if (obj != null && obj is Enum) //处理非null值类型时(或者枚举)
             {
                 result = ((IConvertible)obj).ToInt32( null );
             }
             return  result;
         }
 
         ///
         /// 读取数据库中字符串并转换成Int32
         /// 为空时返回0
         ///
         /// string类型的值
         /// Int32类型
         public  static int ToInt32(string str)
         {
             int  result = 0;
             if  (IsInt(str))
             {
                 result = Convert.ToInt32(str);
             }
             return  result;
         }
 
         ///
         /// 判断一个字符串是否属于Int类型
         /// 如果是的返回true,如果不是返回false
         ///
         /// string类型的值
         /// true:是Int的字符串(即可以转换成Int类型),false:不是Int类型的字符串
         public  static bool IsInt(string str)
         {
             bool  result = false;
             if  (str != "" && str!=null)
             {
                 Regex reg =  new Regex("^[0-9]*$");
                 if  (reg.IsMatch(str))
                 {
                     result =  true;
                 }
             }
             return  result;
         }
         #endregion
 
         #region------------------ToString类型转换------------------
         ///
         ///  读取数据库中字符串并转换成string
         ///
         /// object类型的值
         /// string类型
         public  static string ToString(object obj)
         {
             string  result = "";
             if  (obj != null)
             {
                 result = Convert.ToString(obj);
             }
             return  result;
         }
         #endregion
 
         #region------------------ToDouble类型转换------------------
         ///
         /// 判断一个字符串是否属于Double类型(包括负浮点型)
         /// 如果是的返回true,如果不是返回false
         ///
         /// string类型的值
         /// true:是Double的字符串(即可以转换成Double类型),false:不是Double类型的字符串
         public  static bool IsDouble(string str)
         {
             bool  result = false;
             if  (str != "" && str != null)
             {
                 Regex reg =  new Regex(@"^(-?\d+)(\.\d+)?$");
                 if  (reg.IsMatch(str))
                 {
                     result =  true;
                 }
             }
             return  result;
         }
 
         ///
         /// 读取数据库中字符串并转换成Int32
         /// 为空时返回0
         ///
         /// object类型的值
         /// Int32类型
         public  static double ToDouble(object obj)
         {
             double  result = 0.0;
             if  (IsDouble(Convert.ToString(obj)))
             {
                 result = Convert.ToDouble(obj);
             }
             else  if (obj != null && obj is Enum) //处理枚举
             {
                 result = ((IConvertible)obj).ToDouble( null );
             }
             return  result;
         }
 
         ///
         /// 读取数据库中字符串并转换成Int32
         /// 为空时返回0
         ///
         /// string类型的值
         /// Int32类型
         public  static double ToDouble(string str)
         {
             double  result = 0.0;
             if  (IsDouble(str))
             {
                 result = Convert.ToDouble(str);
             }
             return  result;
         }
         #endregion
 
         #region------------------ToDateTime类型转换------------------
         ///
         /// 判断时间格式是否是时间类型
         /// 如23:10
         ///
         /// 要判断的字符串
         /// true:是时间类型的字符串(即可以转换成时间类型),false:不是时间类型的字符串
         public  static bool isDateTime(string str)
         {
             bool  result = false;
             if  (str != "" && str != null)
             {
                 Regex reg =  new Regex("(([01]\\d)|(2[0-3])):[0-5]\\d");
                 if  (reg.IsMatch(str))
                 {
                     result =  true;
                 }
             }
             return  result;
         }
         #endregion
 
     }
}
//"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
//"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
//"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
//"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
//"^(-?\d+)(\.\d+)?$"  //浮点数


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM