C# 各种类型的转换

 /// <summary>
    /// 一些常用的方法
    /// 1、一些高效的转换方法
    /// </summary>
    public class Util
    {
        #region Object转换为Int32 
        /// <summary>
        /// Object转换为Int32 
        /// </summary>
        /// <param name="o">Object</param>
        /// <returns>int 报错也返回0</returns>
        public static int ConvertToInt32(object o)
        {
            try
            {
                if (o != DBNull.Value && o != null && o.ToString() != String.Empty)
                {
                    if (o is int)
                        return (int)o;
                    else if (o is short)
                        return (int)(short)o;
                    else if (o is byte)
                        return (int)(byte)o;
                    else if (o is long)
                        return (int)(long)o;
                    else if (o is double)
                        return (int)(double)o;
                    else if (o is float)
                        return (int)(float)o;
                    else if (o is decimal)
                        return (int)(decimal)o;
                    else if (o is uint)
                        return (int)(uint)o;
                    else if (o is ushort)
                        return (int)(ushort)o;
                    else if (o is ulong)
                        return (int)(ulong)o;
                    else if (o is sbyte)
                        return (int)(sbyte)o;
                    else
                        return int.Parse(o.ToString());
                }
                else
                {
                    return 0;
                }
            }
            catch
            {
                return 0;
            }

        }
        #endregion

        #region Object 转成 String 
        /// <summary>
        /// Object 转成 String 
        /// </summary>
        /// <param name="o">参数</param>
        /// <returns>String</returns>
        public static string ConvertToString(object o)
        {
            try
            {
                if (o != DBNull.Value && o != null && o.ToString() != String.Empty)
                {
                    return o.ToString();
                }
                else
                {
                    return "";
                }
            }
            catch
            {
                return "";
            }
        }
        #endregion

        #region Object转换为Decimal  
        /// <summary>
        /// Object转换为Decimal 
        /// </summary>
        /// <param name="o">Object</param>
        /// <returns>Decimal</returns>
        public static decimal ConvertToDecimal(object o)
        {
            try
            {
                if (o != DBNull.Value && o != null && o.ToString() != String.Empty)
                {
                    decimal Num = 0;
                    decimal.TryParse(o.ToString(), out Num);
                    return Num;
                }
                else
                {
                    return 0;
                }
            }
            catch
            {
                return 0;
            }

        }
        #endregion

        #region Object转换为Double 
        /// <summary>
        /// Object转换为Double  
        /// </summary>
        /// <param name="o">Object</param>
        /// <returns>Double</returns>
        public static double ConvertToDouble(object o)
        {
            try
            {
                if (o != DBNull.Value && o != null && o.ToString() != String.Empty)
                {
                    double Num = 0;
                    double.TryParse(o.ToString(), out Num);
                    return Num;
                }
                else
                {
                    return 0;
                }
            }
            catch
            {
                return 0;
            }

        }
        #endregion

        #region Object转换为Float 
        /// <summary>
        /// Object转换为Float  
        /// </summary>
        /// <param name="o">Object</param>
        /// <returns>Double</returns>
        public static Double ConvertToFloat(object o)
        {
            try
            {
                if (o != DBNull.Value && o != null && o.ToString() != String.Empty)
                {
                    float Num = 0;
                    float.TryParse(o.ToString(), out Num);
                    return Num;
                }
                else
                {
                    return 0;
                }
            }
            catch
            {
                return 0;
            }

        }
        #endregion

    
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Kevin-ZhangCG

[ Java面试题 ]基础篇之二

1395
来自专栏Java面试通关手册

可能是把Java内存区域讲的最清楚的一篇文章

哈哈 皮一下!我自己开源的一个Java学习指南文档。一份涵盖大部分Java程序员所需要掌握的核心知识,正在一步一步慢慢完善,期待您的参与。Github地址:ht...

332
来自专栏JAVA高级架构

JAVA基础面试总结

1.00 什么时候使用基于接口编程? 基于接口编程、Fascade层等等抽象封装都是有开发和维护的代价的,是否使用归根结底还是要看团队人员的分工情况, 技术方...

2988
来自专栏每日一篇技术文章

Swift3.0 - 枚举

482
来自专栏desperate633

Java中的collection架构总结

collection是java中用来收集对象的。java提供了collection的Api,为了避免出现死记api的情况,为了更好的使用collection,首...

644
来自专栏nnngu

Java面试题库及答案解析

1、面向对象编程(OOP)有哪些优点? 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。 2、面向对象编程有哪些特...

2625
来自专栏向治洪

java虚拟机构造原理

 Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三...

1806
来自专栏JAVA高级架构

Java内存区域与虚拟机类加载机制

一、Java运行时数据区域 ? 1、程序计数器   “线程私有”的内存,是一个较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。Java虚拟机规范...

3318
来自专栏Python爱好者

Android面试之Java基础

1023
来自专栏java思维导图

Java 单例以及单例所引发的思考

1 前言 前几天无意中看到一篇文章,讲到了老生常谈的单例,抱着复习一下的心态点了进去,还是那些熟悉的内容,可是却发现自己思考的角度变了,以前更多的是去记忆,只停...

2717

扫描关注云+社区