数据转换扩展类

    /// <summary>
    /// 数据转换扩展类型
    /// </summary>
    public static class DataConvertExtend
    {
        /// <summary>
        /// 对象转成字符
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>字符</returns>
        public static string DataToString(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return string.Empty;
            }

            return obj.ToString();
        }

        /// <summary>
        /// 对象转成整型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>整型</returns>
        public static int DataToInt(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return 0;
            }

            int data = int.MinValue;
            if (int.TryParse(obj.ToString(), out data) == false)
            {
                return 0;
            }

            return data;
        }

        /// <summary>
        /// 对象转换成整型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>整型</returns>
        public static int? DataToIntMark(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return null;
            }

            int data = int.MinValue;
            if (int.TryParse(obj.ToString(), out data) == false)
            {
                return null;
            }

            return data;
        }

        /// <summary>
        /// 对象转成Float
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>Float</returns>
        public static float DataToFloat(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return 0;
            }

            float data = float.MinValue;
            if (float.TryParse(obj.ToString(), out data) == false)
            {
                return 0;
            }

            return data;
        }

        /// <summary>
        /// 对象转换成Float
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>Float</returns>
        public static float? DataToFloatMark(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return null;
            }

            float data = float.MinValue;
            if (float.TryParse(obj.ToString(), out data) == false)
            {
                return null;
            }

            return data;
        }

        /// <summary>
        /// 对象转成double
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>double</returns>
        public static double DataToDouble(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return 0;
            }

            double data = double.MinValue;
            if (double.TryParse(obj.ToString(), out data) == false)
            {
                return 0;
            }

            return data;
        }

        /// <summary>
        /// 对象转换成double
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>double</returns>
        public static double? DataToDoubleMark(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return null;
            }

            double data = double.MinValue;
            if (double.TryParse(obj.ToString(), out data) == false)
            {
                return null;
            }

            return data;
        }

        /// <summary>
        /// 对象转成浮点类型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>浮点类型</returns>
        public static decimal DataToDecimal(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return 0;
            }

            decimal data = decimal.MinValue;
            if (decimal.TryParse(obj.ToString(), out data) == false)
            {
                return 0;
            }

            return data;
        }

        /// <summary>
        /// 对象转换成浮点类型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>浮点类型</returns>
        public static decimal? DataToDecimalMark(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return null;
            }

            decimal data = decimal.MinValue;
            if (decimal.TryParse(obj.ToString(), out data) == false)
            {
                return null;
            }

            return data;
        }

        /// <summary>
        /// 对象转换成日期类型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>日期</returns>
        public static DateTime DataToDateTime(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return DateTime.MinValue;
            }

            DateTime date = DateTime.MinValue;
            if (DateTime.TryParse(obj.ToString(), out date) == false)
            {
                return date;
            }

            return date;
        }

        /// <summary>
        /// 对象转换成时间类型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>时间</returns>
        public static DateTime DataToTime(this object obj)
        {
            DateTime date = DateTime.ParseExact("00:00:00", "HH:mm:ss", null);
            if (obj == null || obj == DBNull.Value)
            {
                return date;
            }

            if (DateTime.TryParse(obj.ToString(), out date) == false)
            {
                date = DateTime.ParseExact(obj.ToString(), "HH:mm:ss", null);
            }
            return date;
        }

        /// <summary>
        /// 对象转换成日期类型
        /// </summary>
        /// <param name="obj">对象</param>
        /// <returns>日期</returns>
        public static DateTime? DataToDateTimeMark(this object obj)
        {
            if (obj == null || obj == DBNull.Value)
            {
                return null;
            }

            DateTime date = DateTime.MinValue;
            if (DateTime.TryParse(obj.ToString(), out date) == false)
            {
                return null;
            }

            return date;
        }
    }

时间: 2024-12-31 08:58:02

数据转换扩展类的相关文章

ios 中Category类别(扩展类)专题总结

原创地址   http://www.code4blog.com/archives/294 类别 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没有源代码的类. 类别使得无需创建对象类的子类就能完成同样的工作 一.创建类别 1.声明类别 声明类别与声明类的形式很相似 @interface  NSString(NumberConvenienc

UI(UGUI)框架(二)-------------UIManager单例模式与开发BasePanel面板基类/UIManage统一管理UI面板的实例化/开发字典扩展类

UIManage单实例: 1 /// 单例模式的核心 2 /// 1,定义一个静态的对象 在外界访问 在内部构造 3 /// 2,构造方法私有化 4 5 private static UIManager _instance; 6 7 public static UIManager Instance 8 { 9 get 10 { 11 if (_instance == null) 12 { 13 _instance = new UIManager(); 14 } 15 return _instan

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 &amp;&amp; Linux下的ZipArchive配置开启压缩

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表示处理的

NSJSONSerialization(category)的一个扩展类

.h文件 // // NSJSONSerialization+Manage.h // SVPullToRefreshDemo // // Created by Fuer on 14-7-4. // Copyright (c) 2014年 Home. All rights reserved. // #import <Foundation/Foundation.h> /** * The domain for NSErrors generated by the NSJSONSerialization

HTML扩展类的所有方法都有2个参数:

——摘自Rocky Ren 以textbox为例子 public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, IDictionary<string, Object> htmlAttributes ) public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Object h

“XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题

“XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题 原因:设计页面继承的路径和后台.cs页面类的路径不一致造成的 看下图 这个是设计页面的样式 这个是后台cs文件代码 如果这两地方的路径不一致则会导致上述错误出现 解决方法:将这两个地方的路径统一即可解决

Thinkphp编辑器扩展类kindeditor使用方法

一, 使用前的准备. 使用前请确认你已经建立好了一个Thinkphp网站项目. 1,Keditor.class.php和JSON.class.php 是编辑器扩展类文件,将他们复制到你的网站项目的ThinkPHP\Lib\ORG\Net 文件夹下. 2,editor文件夹是kindeditor的核心包.将其复制到你项目的Public文件夹下(和入口文件同级的那个Public),并在Public下再建立一个Upload文件夹,用于存放使用编辑器上传的图片. 3,KeditorAction.clas

基于Thinkphp3.2的qq第三方oauth认证登录扩展类

基于Thinkphp3.2的qq第三方oauth认证登录扩展类,由于腾讯oauth sdk写的太多,不能与thinkphp和好的结合,最终想法讲腾讯oauth sdk写成tp的扩展类先看代码,将代码保存在/library/org/util/Qqconnect.class.php文件中在__construct方法中你可以直接写你的app_id.app_key和回调地址也可以根据自己的喜好,改一下代码传参或者写到配置文件.调用方法:1. 在qq的登录按钮的方法中调用getAuthCode方法例如:$

python学习:扩展类的方法

一:先看一段小程序 <span style="font-size:18px;"><strong>class person: def __init__(self): print "new person" self.name = "lyl" def setName(self,name): self.name = name def printName(self): print self.name p = person(); p.