ConvertHelper
来源:互联网 发布:github java 项目 编辑:程序博客网 时间:2024/06/16 06:07
using System;
namespace Helper
{
/// <summary>
/// 转换帮助类
/// </summary>
public class ConvertHelper
{
/// <summary>
/// 转换为32位整数,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="num">整数</param>
/// <returns>转换是否成功</returns>
public static bool Try2Int32(object obj, out int num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return int.TryParse((string)obj, out num);
}
try
{
num = convertible.ToInt32(null);
return true;
}
catch
{
num = 0;
return false;
}
}
public static int ConvertToInt32(object obj) //与ToInt32有何区别?
{
int n;
Try2Int32(obj, out n);
return n;
}
public static bool Try2Int64(object obj, out long num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return long.TryParse((string)obj, out num);
}
try
{
num = convertible.ToInt64(null);
return true;
}
catch
{
num = 0;
return false;
}
}
/// <summary>
/// 转换为货币浮点数,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="num">货币浮点数</param>
/// <returns>转换是否成功</returns>
public static bool Try2Decimal(object obj, out decimal num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return decimal.TryParse((string)obj, out num);
}
try
{
num = convertible.ToDecimal(null);
return true;
}
catch
{
num = 0;
return false;
}
}
/// <summary>
/// 转换为64位浮点数,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="num">货币浮点数</param>
/// <returns>转换是否成功</returns>
public static bool Try2Double(object obj, out double num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return double.TryParse((string)obj, out num);
}
try
{
num = convertible.ToDouble(null);
return true;
}
catch
{
num = 0;
return false;
}
}
/// <summary>
/// 转换为日期,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="date">日期</param>
/// <returns>转换是否成功</returns>
public static bool Try2DateTime(object obj, out DateTime date)
{
try
{
date = Convert.ToDateTime(obj);
return true;
}
catch
{
date = new DateTime(-1);
return false;
}
}
/// <summary>
/// 转换bool类型为int32类型
/// </summary>
/// <param name="bVar">bool变量</param>
/// <returns>int32变量</returns>
public static int Bool2Int(bool bVar)
{
return bVar ? 1 : 0;
}
/// <summary>
/// 转换为货币浮点数,转换失败为0
/// </summary>
/// <param name="num">要转换的对象</param>
/// <returns></returns>
public static decimal ToDecimal(object num)
{
decimal n;
Try2Decimal(num, out n);
return n;
}
/// <summary>
/// 转换为64位浮点数,转换失败为0
/// </summary>
/// <param name="num">要转换的对象</param>
/// <returns></returns>
public static double ToDouble(object num)
{
double n;
Try2Double(num, out n);
return n;
}
/// <summary>
/// 转换为32位整数,转换失败为0
/// </summary>
/// <param name="num">要转换的对象</param>
/// <returns></returns>
public static int ToInt32(object num)
{
int n;
Try2Int32(num, out n);
return n;
}
public static long ToInt64(object num)
{
long n;
Try2Int64(num, out n);
return n;
}
public static DateTime ToDateTime(object date)
{
try
{
return Convert.ToDateTime(date);
}
catch
{
return new DateTime(0);
}
}
public static bool ToBoolean(object b)
{
try
{
return Convert.ToBoolean(b);
}
catch
{
return false;
}
}
public static string ToStringThenTrim(object o)
{
if (o == null || o == DBNull.Value)
return "";
return o.ToString().Trim();
}
}
}
namespace Helper
{
/// <summary>
/// 转换帮助类
/// </summary>
public class ConvertHelper
{
/// <summary>
/// 转换为32位整数,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="num">整数</param>
/// <returns>转换是否成功</returns>
public static bool Try2Int32(object obj, out int num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return int.TryParse((string)obj, out num);
}
try
{
num = convertible.ToInt32(null);
return true;
}
catch
{
num = 0;
return false;
}
}
public static int ConvertToInt32(object obj) //与ToInt32有何区别?
{
int n;
Try2Int32(obj, out n);
return n;
}
public static bool Try2Int64(object obj, out long num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return long.TryParse((string)obj, out num);
}
try
{
num = convertible.ToInt64(null);
return true;
}
catch
{
num = 0;
return false;
}
}
/// <summary>
/// 转换为货币浮点数,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="num">货币浮点数</param>
/// <returns>转换是否成功</returns>
public static bool Try2Decimal(object obj, out decimal num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return decimal.TryParse((string)obj, out num);
}
try
{
num = convertible.ToDecimal(null);
return true;
}
catch
{
num = 0;
return false;
}
}
/// <summary>
/// 转换为64位浮点数,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="num">货币浮点数</param>
/// <returns>转换是否成功</returns>
public static bool Try2Double(object obj, out double num)
{
var convertible = obj as IConvertible;
if (convertible == null || obj is DBNull)
{
num = 0;
return false;
}
if (obj is string)
{
return double.TryParse((string)obj, out num);
}
try
{
num = convertible.ToDouble(null);
return true;
}
catch
{
num = 0;
return false;
}
}
/// <summary>
/// 转换为日期,转换失败为0
/// </summary>
/// <param name="obj">要转换的对象</param>
/// <param name="date">日期</param>
/// <returns>转换是否成功</returns>
public static bool Try2DateTime(object obj, out DateTime date)
{
try
{
date = Convert.ToDateTime(obj);
return true;
}
catch
{
date = new DateTime(-1);
return false;
}
}
/// <summary>
/// 转换bool类型为int32类型
/// </summary>
/// <param name="bVar">bool变量</param>
/// <returns>int32变量</returns>
public static int Bool2Int(bool bVar)
{
return bVar ? 1 : 0;
}
/// <summary>
/// 转换为货币浮点数,转换失败为0
/// </summary>
/// <param name="num">要转换的对象</param>
/// <returns></returns>
public static decimal ToDecimal(object num)
{
decimal n;
Try2Decimal(num, out n);
return n;
}
/// <summary>
/// 转换为64位浮点数,转换失败为0
/// </summary>
/// <param name="num">要转换的对象</param>
/// <returns></returns>
public static double ToDouble(object num)
{
double n;
Try2Double(num, out n);
return n;
}
/// <summary>
/// 转换为32位整数,转换失败为0
/// </summary>
/// <param name="num">要转换的对象</param>
/// <returns></returns>
public static int ToInt32(object num)
{
int n;
Try2Int32(num, out n);
return n;
}
public static long ToInt64(object num)
{
long n;
Try2Int64(num, out n);
return n;
}
public static DateTime ToDateTime(object date)
{
try
{
return Convert.ToDateTime(date);
}
catch
{
return new DateTime(0);
}
}
public static bool ToBoolean(object b)
{
try
{
return Convert.ToBoolean(b);
}
catch
{
return false;
}
}
public static string ToStringThenTrim(object o)
{
if (o == null || o == DBNull.Value)
return "";
return o.ToString().Trim();
}
}
}
0 0
- ConvertHelper
- 再次解读ConvertHelper
- ConvertHelper与泛型集合
- E层转换之ConvertHelper——泛型应用
- Android 输入控件
- 机器学习、数据挖掘、机器视觉等领域经典书籍推荐
- 使用GeoIP获得IP地址的地理地址信息
- 关于varnish的配置
- swfobject.js 简介
- ConvertHelper
- java字符串截取方法
- Paint Pearls(HDU 5009)
- Merkle Tree及其应用
- 多人网络翻译【一篇网络上英文文章的相关翻译】
- Requested setting TEMPLATE_DEBUG, but settings are not configured.
- 【SGU】113. Nearly prime numbers 合数分解
- 冒泡排序 Java
- 第四章 结构知识导图