Web--TypeConverter
Posted zhaoyl9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web--TypeConverter相关的知识,希望对你有一定的参考价值。
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;
以上是关于Web--TypeConverter的主要内容,如果未能解决你的问题,请参考以下文章