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 条评论
登录 后参与评论

相关文章

来自专栏向治洪

java基础之反射

Contents java基础巩固笔记(1)-反射 反射 反射基本使用 数组的反射 配置文件加载 内省(Instropector) & JavaBean ...

1766
来自专栏性能与架构

认识一下 Java 11

可能很多人现在 Java8 的新特性还没用熟呢,Java 11 就已经来了,下面一起来看下 Java 11 的几个新特性:

882
来自专栏Phoenix的Android之旅

匿名内部类导致内存泄露的面试题

内存泄露一直是Java中需要避免的问题,也是面试时经常拿来考察编程能力的题目。比如下面这个问题,

992
来自专栏绿巨人专栏

TypeScript中的怪语法

3295
来自专栏GreenLeaves

C# 终极基类Object介绍

一、简介 Object这个类型,相信everyone都不陌生,这个是CLR定义的最基础的类型,俗称"上帝类"。CLR(运行时)要求所有类型,不管是系统定义的类型...

1786
来自专栏ASP.NETCore

动手实现扩展属性为对象动态添加获取数据

由于项目需要常常会遇到为某一个对象动态添加属性的情况,而以前我的实现方式是创建一个字典用于存放对象实例和它的值,但是往往光这么做是不够的,例如想在对象的某个属...

783
来自专栏Java技术栈

厉害了,关于String的10道经典面试题。

1、String是基本数据类型吗? 2、String是可变的话? 3、怎么比较两个字符串的值一样,怎么比较两个字符串是否同一对象? 4、switch中可以使用S...

32910
来自专栏Android群英传

Kotlin Primer·类与对象(上)

782
来自专栏函数式编程语言及工具

Scalaz(2)- 基础篇:随意多态-typeclass, ad-hoc polymorphism

  scalaz功能基本上由以下三部分组成: 1、新的数据类型,如:Validation, NonEmptyList ... 2、标准scala类型的延伸类型,...

1937
来自专栏海天一树

小朋友学Java(6):封装

面向对象有三大特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。 本节讲封装。 程序1 class W...

3048

扫码关注云+社区