你的位置:首页 > ASP.net教程

[ASP.net教程].net的基本数据类型操作


     代码编写的过程中,较多的会涉及到基本数据类型的使用和定义,在项目中,对于类型的判定和类型间的相互转换,有时也较为的麻烦,先提供几种基本数据类型的判断方法:

1.判断对象是否为Int32类型的数字:

    /// <summary>    /// 判断对象是否为Int32类型的数字    /// </summary>    /// <param name="expression"></param>    /// <returns></returns>    public static bool IsNumeric(object expression)    {      return expression != null && IsNumeric(expression.ToString());    }    /// <summary>    /// 判断对象是否为Int32类型的数字    /// </summary>    /// <param name="expression"></param>    /// <returns></returns>    public static bool IsNumeric(string expression)    {      var str = expression;      if (!(str.Length > 0) || str.Length > 11 || !System.Text.RegularExpressions.Regex.IsMatch(str, @"^[-]?[0-9]*[.]?[0-9]*$")) return false;      return (str.Length < 10) || (str.Length == 10 && str[0] == '1') ||          (str.Length == 11 && str[0] == '-' && str[1] == '1');    }

2.是否为Double类型:

    /// <summary>    /// 是否为Double类型    /// </summary>    /// <param name="expression"></param>    /// <returns></returns>    public static bool IsDouble(object expression)    {      if (expression != null)        return System.Text.RegularExpressions.Regex.IsMatch(expression.ToString(), @"^([0-9])[0-9]*(\.\w*)?$");      return false;    }

3.将字符串转换为数组:

    /// <summary>    /// 将字符串转换为数组    /// </summary>    /// <param name="str">字符串</param>    /// <returns>字符串数组</returns>    public static string[] GetStrArray(string str)    {      return str.Split(new char[',']);    }

4.将数组转换为字符串:

    /// <summary>    /// 将数组转换为字符串    /// </summary>    /// <param name="list">List</param>    /// <param name="speater">分隔符</param>    /// <returns>String</returns>    public static string GetArrayStr(List<string> list, string speater)    {      var sb = new StringBuilder();      for (int i = 0; i < list.Count; i++)      {        if (i == list.Count - 1)        {          sb.Append(list[i]);        }        else        {          sb.Append(list[i]);          sb.Append(speater);        }      }      return sb.ToString();    }

5.object型转换为bool型:

    /// <summary>    /// object型转换为bool型    /// </summary>    /// <param name="expression"></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;    }

6.string型转换为bool型:

    /// <summary>    /// string型转换为bool型    /// </summary>    /// <param name="expression"></param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的bool类型结果</returns>    public static bool StrToBool(string expression, bool defValue)    {      if (expression == null) return defValue;      if (string.Compare(expression, "true", StringComparison.OrdinalIgnoreCase) == 0)        return true;      return string.Compare(expression, "false", StringComparison.OrdinalIgnoreCase) != 0 && defValue;    }

7.将对象转换为Int32类型:

     /// <summary>    /// 将对象转换为Int32类型    /// </summary>    /// <param name="expression">要转换的字符串</param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的int类型结果</returns>    public static int ObjToInt(object expression, int defValue)    {      return expression != null ? StrToInt(expression.ToString(), defValue) : defValue;    }

8.将字符串转换为Int32类型:

    /// <summary>    /// 将字符串转换为Int32类型    /// </summary>    /// <param name="expression">要转换的字符串</param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的int类型结果</returns>    public static int StrToInt(string expression, int defValue)    {      if (string.IsNullOrEmpty(expression) || expression.Trim().Length >= 11 ||        !System.Text.RegularExpressions.Regex.IsMatch(expression.Trim(), @"^([-]|[0-9])[0-9]*(\.\w*)?$"))        return defValue;      int rv;      if (int.TryParse(expression, out rv))        return rv;      return Convert.ToInt32(StrToFloat(expression, defValue));    }

9.Object型转换为decimal型:

    /// <summary>    /// Object型转换为decimal型    /// </summary>    /// <param name="expression"></param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的decimal类型结果</returns>    public static decimal ObjToDecimal(object expression, decimal defValue)    {      if (expression != null)        return StrToDecimal(expression.ToString(), defValue);      return defValue;    }

10.string型转换为decimal型:

    /// <summary>    /// string型转换为decimal型    /// </summary>    /// <param name="expression"></param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的decimal类型结果</returns>    public static decimal StrToDecimal(string expression, decimal defValue)    {      if ((expression == null) || (expression.Length > 10))        return defValue;      decimal intValue = defValue;      {        bool isDecimal = System.Text.RegularExpressions.Regex.IsMatch(expression, @"^([-]|[0-9])[0-9]*(\.\w*)?$");        if (isDecimal)          decimal.TryParse(expression, out intValue);      }      return intValue;    }

11.Object型转换为float型:

    /// <summary>    /// Object型转换为float型    /// </summary>    /// <param name="strValue">要转换的字符串</param>    /// <param name="expression"></param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的int类型结果</returns>    public static float ObjToFloat(object expression, float defValue)    {      if (expression != null)        return StrToFloat(expression.ToString(), defValue);      return defValue;    }

12.string型转换为float型:

    /// <summary>    /// string型转换为float型    /// </summary>    /// <param name="expression"></param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的int类型结果</returns>    public static float StrToFloat(string expression, float defValue)    {      if ((expression == null) || (expression.Length > 10))        return defValue;      float intValue = defValue;      {        bool isFloat = System.Text.RegularExpressions.Regex.IsMatch(expression, @"^([-]|[0-9])[0-9]*(\.\w*)?$");        if (isFloat)          float.TryParse(expression, out intValue);      }      return intValue;    }

13.将对象转换为日期时间类型(提供几种操作方法份的重载):

    /// <summary>    /// 将对象转换为日期时间类型    /// </summary>    /// <param name="str">要转换的字符串</param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的int类型结果</returns>    public static DateTime StrToDateTime(string str, DateTime defValue)    {      if (!string.IsNullOrEmpty(str))      {        DateTime dateTime;        if (DateTime.TryParse(str, out dateTime))          return dateTime;      }      return defValue;    }    /// <summary>    /// 将对象转换为日期时间类型    /// </summary>    /// <param name="str">要转换的字符串</param>    /// <returns>转换后的int类型结果</returns>    public static DateTime StrToDateTime(string str)    {      return StrToDateTime(str, DateTime.Now);    }    /// <summary>    /// 将对象转换为日期时间类型    /// </summary>    /// <param name="obj">要转换的对象</param>    /// <returns>转换后的int类型结果</returns>    public static DateTime ObjectToDateTime(object obj)    {      return StrToDateTime(obj.ToString());    }    /// <summary>    /// 将对象转换为日期时间类型    /// </summary>    /// <param name="obj">要转换的对象</param>    /// <param name="defValue">缺省值</param>    /// <returns>转换后的int类型结果</returns>    public static DateTime ObjectToDateTime(object obj, DateTime defValue)    {      return StrToDateTime(obj.ToString(), defValue);    }

14.将对象转换为字符串:

    /// <summary>    /// 将对象转换为字符串    /// </summary>    /// <param name="obj">要转换的对象</param>    /// <returns>转换后的string类型结果</returns>    public static string ObjectToStr(object obj)    {      if (obj == null)        return "";      return obj.ToString().Trim();    }