/********************************************** * 类作用: 类型转换类 * 作者:开优网络 * http://www.kaiu.net ***********************************************/ using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace Svnhost.Common { public class TypeParse { /// <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) { if (string.Compare(Expression.ToString(), "true", true) == 0) { return true; } else if (string.Compare(Expression.ToString(), "false", true) == 0) { return false; } } return defValue; } /// <summary> /// 将对象转换为Int32类型 /// </summary> /// <param name="strValue">要转换的字符串</param> /// <param name="defValue">缺省值</param> /// <returns>转换后的int类型结果</returns> public static int StrToInt(object Expression, int defValue) { if (Expression != null) { string str = Expression.ToString(); if (str.Length > 0 && str.Length <= 11 && Regex.IsMatch(str, @"^[-]?[0-9]*$")) { if ((str.Length < 10) || (str.Length == 10 && str[0] == '1') || (str.Length == 11 && str[0] == '-' && str[1] == '1')) { return Convert.ToInt32(str); } } } return 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) || (strValue.ToString().Length > 10)) { return defValue; } float intValue = defValue; if (strValue != null) { bool IsFloat = Regex.IsMatch(strValue.ToString(), @"^([-]|[0-9])[0-9]*(\.\w*)?$"); if (IsFloat) { intValue = Convert.ToSingle(strValue); } } return intValue; } /// <summary> /// 将long型数值转换为Int32类型 /// </summary> /// <param name="objNum"></param> /// <returns></returns> public static int SafeInt32(object objNum) { if (objNum == null) { return 0; } string strNum = objNum.ToString(); if (ValidateUtils.IsNumeric(strNum)) { if (strNum.ToString().Length > 9) { if (strNum.StartsWith("-")) { return int.MinValue; } else { return int.MaxValue; } } return Int32.Parse(strNum); } else { return 0; } } /// <summary> /// int型转换为string型 /// </summary> /// <returns>转换后的string类型结果</returns> public static string IntToStr(int intValue) { return Convert.ToString(intValue); } } }