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++要根源. 为了降低 ...
随机推荐
- 数据结构开发(10):Linux内核链表
0.目录 1.老生常谈的两个宏(Linux) 1.1 offsetof 1.2 container_of 2.Linux内核链表剖析 3.小结 1.老生常谈的两个宏(Linux) Linux 内核中常 ...
- linux下怎么修改grub.cfg
一.grub2的启动配置文件grub.cfggrub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst.如果你是多系统,有Ubuntu和window ...
- 一个非典型的Linux路由配置方案
上周帮人解决了一个问题,这个问题绝对是非典型性的,采用了非常规的方法.虽然最终的方案非常不符合常规,非常不通用,充满了各种藏得很深的技巧或者说是trick,但是这个问题却是一个学习Linux路由的绝好 ...
- 【BZOJ4242】水壶(克鲁斯卡尔重构树,BFS)
[BZOJ4242]水壶(克鲁斯卡尔重构树,BFS) 题面 BZOJ然而是权限题. Description JOI君所居住的IOI市以一年四季都十分炎热著称. IOI市是一个被分成纵H*横W块区域的长 ...
- 【BZOJ1052】覆盖问题(贪心)
[BZOJ1052]覆盖问题(贪心) 题面 BZOJ 洛谷 题解 这题好神仙啊. 很明显可以看出来要二分一个边长. 那么如何\(check\)呢? 我们把所有点用一个最小矩形覆盖, 那么必定每个边界上 ...
- Timus 1005 解题报告
题目链接 http://acm.timus.ru/problem.aspx?space=1&num=1005 题目大意 给你一堆石头,现在需要你将这堆石头分成两堆,要求两堆石头的重量相差最小, ...
- 【bzoj2154】 Crash的数字表格
http://www.lydsy.com/JudgeOnline/problem.php?id=2154 (题目链接) 题意 给出${n,m}$,求$${\sum_{i=1}^n\sum_{j=1}^ ...
- java多线程 -- ForkJoinPool 分支/ 合并框架 工作窃取
Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行 join 汇总. Fork/Join 框架与线程池的 ...
- 【bzoj2754】【scoi2012】喵星球上的点名
题解们: 1.首先可以被很多暴力给搞过去:我以前也是这样水过去的 2.ac自动机 2.1 抽离fail树 对点名建自动机,建$fail$树的时候只保留询问节点: 对于一个喵,子串==在自动机里匹配到的 ...
- Angular http跨域
原文:Angular http跨域 - 飞翔的小仓鼠 - 博客园 var app = angular.module('Mywind',['ui.router']); app.controller('M ...