标签:read stat obj class lse static value task empty
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Xima.FreamWork.Common.Web { public class TypeConverter { /// <summary> /// string型转换为bool型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的bool类型结果</returns> public static bool StrToBool(object expression, bool defValue) { if (expression != null) return StrToBool(expression, defValue); return defValue; } /// <summary> /// string型转换为bool型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的bool类型结果</returns> public static bool StrToBool(string expression, bool defValue) { if (expression != null) { if (string.Compare(expression, "true", true) == 0 || string.Compare(expression, "on", true) == 0) return true; else if (string.Compare(expression, "false", true) == 0 || string.Compare(expression, "off", true) == 0) return false; } return defValue; } /// <summary> /// obj转换成string型 /// </summary> /// <param name="expression"></param> /// <returns></returns> public static string ObjToStr(object expression) { if (expression != null) { return Convert.ToString(expression); } return string.Empty; } /// <summary> /// 将对象转换为Int32类型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static int ObjectToInt(object expression) { return ObjectToInt(expression, 0); } /// <summary> /// 将对象转换为Int32类型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static int ObjectToInt(object expression, int defValue) { if (expression != null) return StrToInt(expression.ToString(), defValue); return defValue; } /// <summary> /// 将对象转换为Int32类型,转换失败返回0 /// </summary> /// <param name="str">要转换的字符串</param> /// <returns>转换后的int类型结果</returns> public static int StrToInt(string str) { return StrToInt(str, 0); } /// <summary> /// 将对象转换为Byte类型 /// </summary> /// <param name="expression">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static Byte ObjectToByte(object expression, Byte defValue) { if (expression != null) return StrToByte(expression.ToString(), defValue); return defValue; } /// <summary> /// 将对象转换为Byte类型 /// </summary> /// <param name="str">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static Byte StrToByte(string str, Byte defValue) { if (string.IsNullOrEmpty(str) || str.Trim().Length > 3 || !Regex.IsMatch(str.Trim(), @"^([-]|[0-9])[0-9]*(\.\w*)?$")) return defValue; Byte rv; if (Byte.TryParse(str, out rv)) return rv; return rv == 0 ? defValue : Convert.ToByte(StrToFloat(str, defValue)); } /// <summary> /// 将对象转换为Int32类型 /// </summary> /// <param name="str">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static int StrToInt(string str, int defValue) { if (string.IsNullOrEmpty(str) || str.Trim().Length >= 11 || !Regex.IsMatch(str.Trim(), @"^([-]|[0-9])[0-9]*(\.\w*)?$")) return defValue; int rv; if (Int32.TryParse(str, out rv)) return rv; return Convert.ToInt32(StrToFloat(str, defValue)); } /// <summary> /// 将对象转换为Int32类型 /// </summary> /// <param name="str">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static Int64 StrToInt64(string str, int defValue) { if (string.IsNullOrEmpty(str) || str.Trim().Length >= 11 || !Regex.IsMatch(str.Trim(), @"^([-]|[0-9])[0-9]*(\.\w*)?$")) return defValue; Int64 rv; if (Int64.TryParse(str, out rv)) return rv; return Convert.ToInt64(StrToFloat(str, defValue)); } /// <summary> /// string型转换为float型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static float StrToFloat(object strValue, float defValue) { if ((strValue == null)) return defValue; return StrToFloat(strValue.ToString(), defValue); } /// <summary> /// string型转换为float型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static float ObjectToFloat(object strValue, float defValue) { if ((strValue == null)) return defValue; return StrToFloat(strValue.ToString(), defValue); } /// <summary> /// string型转换为float型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static float ObjectToFloat(object strValue) { return ObjectToFloat(strValue.ToString(), 0); } /// <summary> /// string型转换为float型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <returns>转换后的int类型结果</returns> public static float StrToFloat(object strValue) { if ((strValue == null)) return 0; return StrToFloat(strValue.ToString(), 0); } /// <summary> /// string型转换为float型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static float StrToFloat(string strValue, float defValue) { if ((strValue == null) || (strValue.Length > 10)) return defValue; float intValue = defValue; { var IsFloat = Regex.IsMatch(strValue, @"^([-]|[0-9])[0-9]*(\.\w*)?$"); if (IsFloat) float.TryParse(strValue, out intValue); } return intValue; } /// <summary> /// string型转换为Decimal型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的Decimal类型结果</returns> public static decimal StrToDecimal(string strValue, decimal defValue) { if ((strValue == null) || (strValue.Length > 10)) return defValue; decimal intValue = defValue; if (strValue != null) { bool IsFloat = Regex.IsMatch(strValue, @"^([-]|[0-9])[0-9]*(\.\w*)?$"); if (IsFloat) decimal.TryParse(strValue, out intValue); } return intValue; } } }
标签:read stat obj class lse static value task empty
原文地址:https://www.cnblogs.com/zhaoyl9/p/11104036.html