廢話不多說了,直接給大家貼代碼了,具體代碼如下所述:
/// <summary> /// 類型轉(zhuǎn)換類 /// 處理數(shù)據(jù)庫獲取字段為空的情況 /// </summary> public static class DBConvert { #region------------------ToInt32類型轉(zhuǎn)換------------------ /// <summary> /// 讀取數(shù)據(jù)庫中字符串并轉(zhuǎn)換成Int32 /// 為空時返回0 /// </summary> /// <param name="obj">object類型的值</param> /// <returns>Int32類型</returns> 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; } /// <summary> /// 讀取數(shù)據(jù)庫中字符串并轉(zhuǎn)換成Int32 /// 為空時返回0 /// </summary> /// <param name="str">string類型的值</param> /// <returns>Int32類型</returns> public static int ToInt32(string str) { int result = 0; if (IsInt(str)) { result = Convert.ToInt32(str); } return result; } /// <summary> /// 判斷一個字符串是否屬于Int類型 /// 如果是的返回true,如果不是返回false /// </summary> /// <param name="str">string類型的值</param> /// <returns>true:是Int的字符串(即可以轉(zhuǎn)換成Int類型),false:不是Int類型的字符串</returns> 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類型轉(zhuǎn)換------------------ /// <summary> /// 讀取數(shù)據(jù)庫中字符串并轉(zhuǎn)換成string /// </summary> /// <param name="obj">object類型的值</param> /// <returns>string類型</returns> public static string ToString(object obj) { string result = ""; if (obj != null) { result = Convert.ToString(obj); } return result; } #endregion #region------------------ToDouble類型轉(zhuǎn)換------------------ /// <summary> /// 判斷一個字符串是否屬于Double類型(包括負(fù)浮點(diǎn)型) /// 如果是的返回true,如果不是返回false /// </summary> /// <param name="str">string類型的值</param> /// <returns>true:是Double的字符串(即可以轉(zhuǎn)換成Double類型),false:不是Double類型的字符串</returns> 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; } /// <summary> /// 讀取數(shù)據(jù)庫中字符串并轉(zhuǎn)換成Int32 /// 為空時返回0 /// </summary> /// <param name="obj">object類型的值</param> /// <returns>Int32類型</returns> 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; } /// <summary> /// 讀取數(shù)據(jù)庫中字符串并轉(zhuǎn)換成Int32 /// 為空時返回0 /// </summary> /// <param name="str">string類型的值</param> /// <returns>Int32類型</returns> public static double ToDouble(string str) { double result = 0.0; if (IsDouble(str)) { result = Convert.ToDouble(str); } return result; } #endregion #region------------------ToDateTime類型轉(zhuǎn)換------------------ /// <summary> /// 判斷時間格式是否是時間類型 /// 如23:10 /// </summary> /// <param name="str">要判斷的字符串</param> /// <returns>true:是時間類型的字符串(即可以轉(zhuǎn)換成時間類型),false:不是時間類型的字符串</returns> 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+)?$" //非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)//"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮點(diǎn)數(shù)//"^((-/d+(/./d+)?)|(0+(/.0+)?))$" //非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)//"^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //負(fù)浮點(diǎn)數(shù)//"^(-?/d+)(/./d+)?$" //浮點(diǎn)數(shù)
新聞熱點(diǎn)
疑難解答
圖片精選