C#类型转换类(通用类)
2021-05-11 07:28
标签:判断 enum 读取数据 obj bsp apple string类 object类 return C#类型转换类(通用类) 标签:判断 enum 读取数据 obj bsp apple string类 object类 return 原文地址:http://www.cnblogs.com/fengyingwang/p/7591133.html// /// 类型转换类
/// 处理数据库获取字段为空的情况
///
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+)?$" //浮点数