asp.net 数据类型转换类代码

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Text;

  using System.Text.RegularExpressions;

  namespace TypeClass

  {

  public class TypeParse

  {

  /// <summary>

  /// 判断对象是否为Int32类型的数字

  /// </summary>

  /// <param name="Expression"></param>

  /// <returns></returns>

  public static bool IsNumeric(object Expression)

  {

  if (Expression != null)

  {

  int intVal;

  return int.TryParse(Expression.ToString(), out intVal);

  }

  return false;

  }

  public static bool IsDouble(object Expression)

  {

  if (Expression != null)

  {

  double doubleVal;

  return double.TryParse(Expression.ToString(), out doubleVal);

  }

  return false;

  }

  /// <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)

  {

  bool boolValue;

  if (bool.TryParse(Expression.ToString(), out boolValue))

  return boolValue;

  else

  return defValue;

  }

  return defValue;

  }

  /// <summary>

  /// 将对象转换为Int32类型

  /// </summary>

  /// <param name="strValue">要转换的字符串</param>

  /// <param name="defValue">缺省值</param>

  /// <returns>转换后的Int32类型结果</returns>

  public static int StrToInt(object Expression, int defValue)

  {

  if (Expression != null)

  {

  int intValue;

  if (int.TryParse(Expression.ToString(), out intValue))

  return intValue;

  else

  return defValue;

  }

  return defValue;

  }

  /// <summary>

  /// string型转换为float型

  /// </summary>

  /// <param name="strValue">要转换的字符串</param>

  /// <param name="defValue">缺省值</param>

  /// <returns>转换后的float类型结果</returns>

  public static float StrToFloat(object strValue, float defValue)

  {

  if (strValue != null)

  {

  float floatValue;

  if (float.TryParse(strValue.ToString(), out floatValue))

  return floatValue;

  else

  return defValue;

  }

  return defValue;

  }

  /// <summary>

  /// string型转换为Decimal型

  /// </summary>

  /// <param name="strValue">要转换的字符串</param>

  /// <param name="defValue">缺省值</param>

  /// <returns>转换后的Decimal类型结果</returns>

  public static Decimal StrToDecimal(object strValue, Decimal defValue)

  {

  if (strValue != null)

  {

  Decimal decimalValue;

  if (Decimal.TryParse(strValue.ToString(), out decimalValue))

  return Math.Round(decimalValue,2);

  else

  return defValue;

  }

  return defValue;

  }

  /// <summary>

  /// string型转换为datetime型

  /// </summary>

  /// <param name="strValue">要转换的字符串</param>

  /// <param name="defValue">缺省值</param>

  /// <returns>转换后的datetime类型结果</returns>

  public static DateTime StrToDateTime(object strValue, DateTime defValue)

  {

  if (strValue != null)

  {

  DateTime DateTimeValue;

  if (DateTime.TryParse(strValue.ToString(), out DateTimeValue))

  return DateTimeValue;

  else

  return defValue;

  }

  return defValue;

  }

  /// <summary>

  /// 判断给定的字符串数组(strNumber)中的数据是不是都为数值型

  /// </summary>

  /// <param name="strNumber">要确认的字符串数组</param>

  /// <returns>是则返加true 不是则返回 false</returns>

  public static bool IsNumericArray(string[] strNumber)

  {

  if (strNumber == null)

  {

  return false;

  }

  if (strNumber.Length < 1)

  {

  return false;

  }

  foreach (string id in strNumber)

  {

  if (!IsNumeric(id))

  {

  return false;

  }

  }

  return true;

  }

  }

  }