C#类型转换类(通用类)
// /// 类型转换类 /// 处理数据库获取字段为空的情况 /// public static class DBConvert { #region------------------ToInt32类型转换------------------ /// /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// /// object类型的值 /// Int32类型 public static int ToInt32(object obj) { int result = 0; if (IsInt(Convert.ToString(obj))) { result = Convert.ToInt32(obj); } else if (obj != null && obj is Enum) //处理非null值类型时(或者枚举) { result = ((IConvertible)obj).ToInt32(null); } return result; } /// /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// /// string类型的值 /// Int32类型 public static int ToInt32(string str) { int result = 0; if (IsInt(str)) { result = Convert.ToInt32(str); } return result; } /// /// 判断一个字符串是否属于Int类型 /// 如果是的返回true,如果不是返回false /// /// string类型的值 /// true:是Int的字符串(即可以转换成Int类型),false:不是Int类型的字符串 public static bool IsInt(string str) { bool result = false; if (str != "" && str!=null) { Regex reg = new Regex("^[0-9]*$"); if (reg.IsMatch(str)) { result = true; } } return result; } #endregion #region------------------ToString类型转换------------------ /// /// 读取数据库中字符串并转换成string /// /// object类型的值 /// string类型 public static string ToString(object obj) { string result = ""; if (obj != null) { result = Convert.ToString(obj); } return result; } #endregion #region------------------ToDouble类型转换------------------ /// /// 判断一个字符串是否属于Double类型(包括负浮点型) /// 如果是的返回true,如果不是返回false /// /// string类型的值 /// true:是Double的字符串(即可以转换成Double类型),false:不是Double类型的字符串 public static bool IsDouble(string str) { bool result = false; if (str != "" && str != null) { Regex reg = new Regex(@"^(-?\d+)(\.\d+)?$"); if (reg.IsMatch(str)) { result = true; } } return result; } /// /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// /// object类型的值 /// Int32类型 public static double ToDouble(object obj) { double result = 0.0; if (IsDouble(Convert.ToString(obj))) { result = Convert.ToDouble(obj); } else if (obj != null && obj is Enum) //处理枚举 { result = ((IConvertible)obj).ToDouble(null); } return result; } /// /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// /// string类型的值 /// Int32类型 public static double ToDouble(string str) { double result = 0.0; if (IsDouble(str)) { result = Convert.ToDouble(str); } return result; } #endregion #region------------------ToDateTime类型转换------------------ /// /// 判断时间格式是否是时间类型 /// 如23:10 /// /// 要判断的字符串 /// true:是时间类型的字符串(即可以转换成时间类型),false:不是时间类型的字符串 public static bool isDateTime(string str) { bool result = false; if (str != "" && str != null) { Regex reg = new Regex("(([01]\\d)|(2[0-3])):[0-5]\\d"); if (reg.IsMatch(str)) { result = true; } } return result; } #endregion }}//"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)//"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数//"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0)//"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数//"^(-?\d+)(\.\d+)?$" //浮点数C#类型转换类(通用类)的更多相关文章
- Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)
上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决 ...
- Util应用程序框架公共操作类(三):数据类型转换公共操作类(扩展篇)
上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化. 下面以字符串转换为List<Guid>为例进 ...
- Util应用程序框架公共操作类(一):数据类型转换公共操作类(介绍篇)
本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动 ...
- poi导出excel通用类
一.关键的通用类public class PoiExportUtils { private static HSSFWorkbook workBook; public PoiExportUtils ...
- NPOI MVC 模型导出Excel通用类
通用类: public enum DataTypeEnum { Int = , Float = , Double = , String = , DateTime = , Date = } public ...
- MVC NPOI Linq导出Excel通用类
之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...
- 利用反射实现类通用的DAO层
public void add(Object object) throws SQLException { ResultSet rs=null; PreparedStatement ps=null; C ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- mongdo通用类(C#版)
日前从公司离职,很快,还没休息就步入了现在的公司,开始跟着公司的脚步走. 公司的项目基本都是大数据的,所以在数据库上大部分都是使用Mongodb和Redis,基本都是Nosql型的数据库为主.以前自己 ...
随机推荐
- centos7 php7.3
./configure --prefix=/root/php/php-7.3.10/output \ --with-mhash \ --with-openssl \ --with-mysqli=sha ...
- layDate面板出现红色花纹图案
要使用layDate,有两种方法: 1. 要么在引用layui.js和layui.css,然后通过layui.use('laydate', callback) 加载模块后,调用方法使用. 2. 去la ...
- fastadmin中关联表时A为主表,想让B表和C表关联时怎么办?
$sql = Db::connect('数据库')->table('C表')->where('status', 'normal')->field('字段 别称[不可与其他表重复]') ...
- JMeter函数整理
"_intSum” 功能:用于计算多个整数的和,可以是计算正整数和负整数的和,它有N个参数,最少有3个参数,最多不限.最后一个参数是函数名称,前面的其它参数是要求和的整数.这个函数在函数对话 ...
- sum(n,m)的解法
给出两个整数n和m,你应该计算从n到m的所有整数的和.换句话说,你应该计算: SUM(n,m)= n +(n + 1)+(n + 2)+ ... +(m-1)+ m 方法1. 方法2.
- Ubuntu 18.04 安装配置 MySQL 5.7
Ubuntu 18.04 安装 mysql 的过程中,竟然没有让你输入秘密?!(之前在 Ubuntu 14.04 下,安装过程中会询问密码),这导致安装完 mysql 初始秘密不知道的问题. $ su ...
- Hdu 1525 欧几里得博弈
两堆石子每次可以在大堆中取小堆的倍数个石子 第一个拿光某个堆的玩家赢 假设a>=b 必胜状态:a%b==0或a/b>=2 因为当a/b>=2时 当前玩家可以选择将状态转移至 a%b+ ...
- LIBUSB_TRANSFER_ERROR
首先, 我的设备是一个KNX无线接受模块, 利用UART与主机相连, 看到的设备就是ttyUSBx 利用libusb写了一个程序, 调用同步I/O 的API, 即libusb_bulk_transfe ...
- 高并发下的 Nginx 优化与负载均衡
高并发下的 Nginx 优化 英文原文:Optimizing Nginx for High Traffic Loads 过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. ...
- haproxy和keepalived的理解(转载)
关于此两者,随便google一下都会有大量的文章,因此这里也不用介绍如何来进行安装和配置了.主要从一个整体方案的角度来描述什么要这样做,以及这样做所解决的问题. 所有的系统,都是先经历一个单台机器搞所 ...