数据类型转换类

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;

        }
    }
}
 

 

posted @ 2012-05-31 18:57  爱智旮旯  阅读(494)  评论(0编辑  收藏  举报