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 }
C# 各种类型的转换的更多相关文章
- spring类型自动转换——@InitBinder和Converter
spring有2种类型转换器,一种是propertyEditor,一种是Converter.虽然都是类型转换,但是还是有细微差别. 所以这里以一个例子的形式来分析一下这2种类型转换的使用场景和差别. ...
- C#高级编程笔记 2016年10月8日运算符和类型强制转换
1.checked和unchecked 运算符 C#提供了checked 和uncheckde 运算符.如果把一个代码块标记为checked, CLR就会执行溢出检查,如果发生溢出,就抛出overfl ...
- SpringMVC对日期类型的转换
在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置. 1.如果查询类使我们自己写,那么在属性前面加上@Date ...
- [改善Java代码]避开基本类型数组转换列表陷阱
开发中经常用到Arrays和Collections这两个工具类. 在数组和列表之间进行切换.非常方便.但是也会遇到一些问题. 看代码: import java.util.Arrays; import ...
- [改善Java代码]不要让类型默默转换
建议23:不要让类型默默转换 public class Client { // 光速是30万公里/秒,常量 public static final int LIGHT_SPEED = 30 * 100 ...
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- javascript 操作符类型隐性转换
javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...
- C语言指针类型 强制转换
关于C语言指针类型 强制转换 引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...
- OC中的类型强制转换
在Objective-C中,以数字格式组成的字符串经常需要转换为NSNumber对象后再使用.例如有一个字符串对象@"111.22",需要转为NSNumber对象,最简单的方法就是 ...
- C++四种类型的转换
在C/C++使用的语言 (type) value(您还可以使用type(value))对于显式类型转换,经常提到投.转换程序猿的精度等完全掌握手,一个传统投往往是过度使用.成为C++要根源. 为了降低 ...
随机推荐
- MySQL 双主问题集
最近试用MySQL高可用方案,需要配MySQL双主,对期间遇到的问题做下记录. 1.导出锁表问题 mysqldump 命令增加参数 --skip-opt -q 可避免导出时锁表: 2.导出\导入所有数 ...
- 【BZOJ 3326】[Scoi2013]数数 数位dp+矩阵乘法优化
挺好的数位dp……先说一下我个人的做法:经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所有数 ...
- 何登成大神对Innodb加锁的分析
背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题.我在工作过程中,经常会有同事咨询这方面的问题.同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题.本文,准备 ...
- UVA.12716 GCD XOR (暴力枚举 数论GCD)
UVA.12716 GCD XOR (暴力枚举 数论GCD) 题意分析 题意比较简单,求[1,n]范围内的整数队a,b(a<=b)的个数,使得 gcd(a,b) = a XOR b. 前置技能 ...
- python print end=' ' 不换行
python3.x 实现print 不换行 python中print之后是默认换行的,是因为其默认属性 end 默认值为"\n"(\n为换行符). 做练习99乘法表时不想换行,改变 ...
- HDU 6231
K-th Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Tot ...
- Dockerfile编写注意事项
转载自:https://blog.fundebug.com/2017/05/15/write-excellent-dockerfile/ 一.目标 更快的构建速度 更小的Docker镜像大小 更少的D ...
- Python之paramiko模块和SQL连接API
堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: i ...
- location.href跳转测试
测试代码 <script type="text/javascript"> function ToUrl(x){ location.href=x; } </scri ...
- MVVM实战
1.层次依赖 - (UIViewController *)createInitialViewController { self.viewModelServices = [RWTViewModelSer ...