/// <summary> /// 数据转换扩展类型 /// </summary> public static class DataConvertExtend { /// <summary> /// 对象转成字符 /// </summary> /// <param name="obj">对象</param> /// <returns>字符</returns> public static string DataToString(this object obj) { if (obj == null || obj == DBNull.Value) { return string.Empty; } return obj.ToString(); } /// <summary> /// 对象转成整型 /// </summary> /// <param name="obj">对象</param> /// <returns>整型</returns> public static int DataToInt(this object obj) { if (obj == null || obj == DBNull.Value) { return 0; } int data = int.MinValue; if (int.TryParse(obj.ToString(), out data) == false) { return 0; } return data; } /// <summary> /// 对象转换成整型 /// </summary> /// <param name="obj">对象</param> /// <returns>整型</returns> public static int? DataToIntMark(this object obj) { if (obj == null || obj == DBNull.Value) { return null; } int data = int.MinValue; if (int.TryParse(obj.ToString(), out data) == false) { return null; } return data; } /// <summary> /// 对象转成Float /// </summary> /// <param name="obj">对象</param> /// <returns>Float</returns> public static float DataToFloat(this object obj) { if (obj == null || obj == DBNull.Value) { return 0; } float data = float.MinValue; if (float.TryParse(obj.ToString(), out data) == false) { return 0; } return data; } /// <summary> /// 对象转换成Float /// </summary> /// <param name="obj">对象</param> /// <returns>Float</returns> public static float? DataToFloatMark(this object obj) { if (obj == null || obj == DBNull.Value) { return null; } float data = float.MinValue; if (float.TryParse(obj.ToString(), out data) == false) { return null; } return data; } /// <summary> /// 对象转成double /// </summary> /// <param name="obj">对象</param> /// <returns>double</returns> public static double DataToDouble(this object obj) { if (obj == null || obj == DBNull.Value) { return 0; } double data = double.MinValue; if (double.TryParse(obj.ToString(), out data) == false) { return 0; } return data; } /// <summary> /// 对象转换成double /// </summary> /// <param name="obj">对象</param> /// <returns>double</returns> public static double? DataToDoubleMark(this object obj) { if (obj == null || obj == DBNull.Value) { return null; } double data = double.MinValue; if (double.TryParse(obj.ToString(), out data) == false) { return null; } return data; } /// <summary> /// 对象转成浮点类型 /// </summary> /// <param name="obj">对象</param> /// <returns>浮点类型</returns> public static decimal DataToDecimal(this object obj) { if (obj == null || obj == DBNull.Value) { return 0; } decimal data = decimal.MinValue; if (decimal.TryParse(obj.ToString(), out data) == false) { return 0; } return data; } /// <summary> /// 对象转换成浮点类型 /// </summary> /// <param name="obj">对象</param> /// <returns>浮点类型</returns> public static decimal? DataToDecimalMark(this object obj) { if (obj == null || obj == DBNull.Value) { return null; } decimal data = decimal.MinValue; if (decimal.TryParse(obj.ToString(), out data) == false) { return null; } return data; } /// <summary> /// 对象转换成日期类型 /// </summary> /// <param name="obj">对象</param> /// <returns>日期</returns> public static DateTime DataToDateTime(this object obj) { if (obj == null || obj == DBNull.Value) { return DateTime.MinValue; } DateTime date = DateTime.MinValue; if (DateTime.TryParse(obj.ToString(), out date) == false) { return date; } return date; } /// <summary> /// 对象转换成时间类型 /// </summary> /// <param name="obj">对象</param> /// <returns>时间</returns> public static DateTime DataToTime(this object obj) { DateTime date = DateTime.ParseExact("00:00:00", "HH:mm:ss", null); if (obj == null || obj == DBNull.Value) { return date; } if (DateTime.TryParse(obj.ToString(), out date) == false) { date = DateTime.ParseExact(obj.ToString(), "HH:mm:ss", null); } return date; } /// <summary> /// 对象转换成日期类型 /// </summary> /// <param name="obj">对象</param> /// <returns>日期</returns> public static DateTime? DataToDateTimeMark(this object obj) { if (obj == null || obj == DBNull.Value) { return null; } DateTime date = DateTime.MinValue; if (DateTime.TryParse(obj.ToString(), out date) == false) { return null; } return date; } }