对象转换处理

#region 对象转换处理
  2         /// <summary>
  3         /// 判断对象是否为Int32类型的数字
  4         /// </summary>
  5         /// <param name="Expression"></param>
  6         /// <returns></returns>
  7         public static bool IsNumeric(object expression)
  8         {
  9             if (expression != null)
 10                 return IsNumeric(expression.ToString());
 11
 12             return false;
 13
 14         }
 15
 16         /// <summary>
 17         /// 判断对象是否为Int32类型的数字
 18         /// </summary>
 19         /// <param name="Expression"></param>
 20         /// <returns></returns>
 21         public static bool IsNumeric(string expression)
 22         {
 23             if (expression != null)
 24             {
 25                 string str = expression;
 26                 if (str.Length > 0 && str.Length <= 11 && Regex.IsMatch(str, @"^[-]?[0-9]*[.]?[0-9]*$"))
 27                 {
 28                     if ((str.Length < 10) || (str.Length == 10 && str[0] == ‘1‘) || (str.Length == 11 && str[0] == ‘-‘ && str[1] == ‘1‘))
 29                         return true;
 30                 }
 31             }
 32             return false;
 33         }
 34
 35         /// <summary>
 36         /// 是否为Double类型
 37         /// </summary>
 38         /// <param name="expression"></param>
 39         /// <returns></returns>
 40         public static bool IsDouble(object expression)
 41         {
 42             if (expression != null)
 43                 return Regex.IsMatch(expression.ToString(), @"^([0-9])[0-9]*(\.\w*)?$");
 44
 45             return false;
 46         }
 47
 48         /// <summary>
 49         /// 将字符串转换为数组
 50         /// </summary>
 51         /// <param name="str">字符串</param>
 52         /// <returns>字符串数组</returns>
 53         public static string[] GetStrArray(string str)
 54         {
 55             return str.Split(new char[‘,‘]);
 56         }
 57
 58         /// <summary>
 59         /// 将数组转换为字符串
 60         /// </summary>
 61         /// <param name="list">List</param>
 62         /// <param name="speater">分隔符</param>
 63         /// <returns>String</returns>
 64         public static string GetArrayStr(List<string> list, string speater)
 65         {
 66             StringBuilder sb = new StringBuilder();
 67             for (int i = 0; i < list.Count; i++)
 68             {
 69                 if (i == list.Count - 1)
 70                 {
 71                     sb.Append(list[i]);
 72                 }
 73                 else
 74                 {
 75                     sb.Append(list[i]);
 76                     sb.Append(speater);
 77                 }
 78             }
 79             return sb.ToString();
 80         }
 81
 82         /// <summary>
 83         /// object型转换为bool型
 84         /// </summary>
 85         /// <param name="strValue">要转换的字符串</param>
 86         /// <param name="defValue">缺省值</param>
 87         /// <returns>转换后的bool类型结果</returns>
 88         public static bool StrToBool(object expression, bool defValue)
 89         {
 90             if (expression != null)
 91                 return StrToBool(expression, defValue);
 92
 93             return defValue;
 94         }
 95
 96         /// <summary>
 97         /// string型转换为bool型
 98         /// </summary>
 99         /// <param name="strValue">要转换的字符串</param>
100         /// <param name="defValue">缺省值</param>
101         /// <returns>转换后的bool类型结果</returns>
102         public static bool StrToBool(string expression, bool defValue)
103         {
104             if (expression != null)
105             {
106                 if (string.Compare(expression, "true", true) == 0)
107                     return true;
108                 else if (string.Compare(expression, "false", true) == 0)
109                     return false;
110             }
111             return defValue;
112         }
113
114         /// <summary>
115         /// 将对象转换为Int32类型
116         /// </summary>
117         /// <param name="expression">要转换的字符串</param>
118         /// <param name="defValue">缺省值</param>
119         /// <returns>转换后的int类型结果</returns>
120         public static int ObjToInt(object expression, int defValue)
121         {
122             if (expression != null)
123                 return StrToInt(expression.ToString(), defValue);
124
125             return defValue;
126         }
127
128         /// <summary>
129         /// 将字符串转换为Int32类型
130         /// </summary>
131         /// <param name="expression">要转换的字符串</param>
132         /// <param name="defValue">缺省值</param>
133         /// <returns>转换后的int类型结果</returns>
134         public static int StrToInt(string expression, int defValue)
135         {
136             if (string.IsNullOrEmpty(expression) || expression.Trim().Length >= 11 || !Regex.IsMatch(expression.Trim(), @"^([-]|[0-9])[0-9]*(\.\w*)?$"))
137                 return defValue;
138
139             int rv;
140             if (Int32.TryParse(expression, out rv))
141                 return rv;
142
143             return Convert.ToInt32(StrToFloat(expression, defValue));
144         }
145
146         /// <summary>
147         /// Object型转换为decimal型
148         /// </summary>
149         /// <param name="strValue">要转换的字符串</param>
150         /// <param name="defValue">缺省值</param>
151         /// <returns>转换后的decimal类型结果</returns>
152         public static decimal ObjToDecimal(object expression, decimal defValue)
153         {
154             if (expression != null)
155                 return StrToDecimal(expression.ToString(), defValue);
156
157             return defValue;
158         }
159
160         /// <summary>
161         /// string型转换为decimal型
162         /// </summary>
163         /// <param name="strValue">要转换的字符串</param>
164         /// <param name="defValue">缺省值</param>
165         /// <returns>转换后的decimal类型结果</returns>
166         public static decimal StrToDecimal(string expression, decimal defValue)
167         {
168             if ((expression == null) || (expression.Length > 10))
169                 return defValue;
170
171             decimal intValue = defValue;
172             if (expression != null)
173             {
174                 bool IsDecimal = Regex.IsMatch(expression, @"^([-]|[0-9])[0-9]*(\.\w*)?$");
175                 if (IsDecimal)
176                     decimal.TryParse(expression, out intValue);
177             }
178             return intValue;
179         }
180
181         /// <summary>
182         /// Object型转换为float型
183         /// </summary>
184         /// <param name="strValue">要转换的字符串</param>
185         /// <param name="defValue">缺省值</param>
186         /// <returns>转换后的int类型结果</returns>
187         public static float ObjToFloat(object expression, float defValue)
188         {
189             if (expression != null)
190                 return StrToFloat(expression.ToString(), defValue);
191
192             return defValue;
193         }
194
195         /// <summary>
196         /// string型转换为float型
197         /// </summary>
198         /// <param name="strValue">要转换的字符串</param>
199         /// <param name="defValue">缺省值</param>
200         /// <returns>转换后的int类型结果</returns>
201         public static float StrToFloat(string expression, float defValue)
202         {
203             if ((expression == null) || (expression.Length > 10))
204                 return defValue;
205
206             float intValue = defValue;
207             if (expression != null)
208             {
209                 bool IsFloat = Regex.IsMatch(expression, @"^([-]|[0-9])[0-9]*(\.\w*)?$");
210                 if (IsFloat)
211                     float.TryParse(expression, out intValue);
212             }
213             return intValue;
214         }
215
216         /// <summary>
217         /// 将对象转换为日期时间类型
218         /// </summary>
219         /// <param name="str">要转换的字符串</param>
220         /// <param name="defValue">缺省值</param>
221         /// <returns>转换后的int类型结果</returns>
222         public static DateTime StrToDateTime(string str, DateTime defValue)
223         {
224             if (!string.IsNullOrEmpty(str))
225             {
226                 DateTime dateTime;
227                 if (DateTime.TryParse(str, out dateTime))
228                     return dateTime;
229             }
230             return defValue;
231         }
232
233         /// <summary>
234         /// 将对象转换为日期时间类型
235         /// </summary>
236         /// <param name="str">要转换的字符串</param>
237         /// <returns>转换后的int类型结果</returns>
238         public static DateTime StrToDateTime(string str)
239         {
240             return StrToDateTime(str, DateTime.Now);
241         }
242
243         /// <summary>
244         /// 将对象转换为日期时间类型
245         /// </summary>
246         /// <param name="obj">要转换的对象</param>
247         /// <returns>转换后的int类型结果</returns>
248         public static DateTime ObjectToDateTime(object obj)
249         {
250             return StrToDateTime(obj.ToString());
251         }
252
253         /// <summary>
254         /// 将对象转换为日期时间类型
255         /// </summary>
256         /// <param name="obj">要转换的对象</param>
257         /// <param name="defValue">缺省值</param>
258         /// <returns>转换后的int类型结果</returns>
259         public static DateTime ObjectToDateTime(object obj, DateTime defValue)
260         {
261             return StrToDateTime(obj.ToString(), defValue);
262         }
263
264         /// <summary>
265         /// 将对象转换为字符串
266         /// </summary>
267         /// <param name="obj">要转换的对象</param>
268         /// <returns>转换后的string类型结果</returns>
269         public static string ObjectToStr(object obj)
270         {
271             if (obj == null)
272                 return "";
273             return obj.ToString().Trim();
274         }
275         #endregion

时间: 2024-12-29 07:36:46

对象转换处理的相关文章

C++习题 对象转换

[Submit][Status][Web Board] Description 定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩),二者有一部分数据成员是相同的,num(号码),name(姓名),sex(性别).编写程序,将一个Student对象(学生)转换为Teacher(教师)类,只将以上3个相同的数据成员移植过去.可以设想为: 一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为

(精华)将json数组和对象转换成List和Map(小龙哥和牛徳鹤的对话)

将java标准的数据结构ArrayList和HashMap转换成json对象和数组很简单 只需要JSONArray.fromObject(obj);或者JSONObject.fromObject(obj); 将json对象转换成Map(必须用到遍历) public static void main(String[] args){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("na

JSON对象转换成JSON字符串

1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

将Model对象转换成json文本或者json二进制文件

https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #import <Foundation/Foundation.

将list&lt;对象&gt;转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据

领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其他的方法,不过这个方法已经实现,就写一下了: 1.创建表. CREATE TABLE [dbo].[person]( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL, [Pwd] [nvarchar](50) NULL, [Age]

jquery 和 js 对象转换

核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S('#id')得到的是jquery对象,它不能使用js中的dom方法.所以,如果jquery对象要使用标准的dom方法,就需要进行对象转换. 刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象.至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间

前台 JSON对象转换成字符串 相互转换 的几种方式

在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用request进行接收.有时传递了几个数值,还好接收.但是如果传递一个json数组,这样后台接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递.例如下面的例子: 前台按类的格式传递JSON对象: var jsonUserInfo = "{\"TUserName\&quo

Newtonsoft.Json 把对象转换成json字符串

var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount + pagesize - 1) / pagesize,//总页数 rows = data.ToList<Web.Entity.Db.Table1Bean>(), }; //JsonResult jr = Json(resultJson, "application/json",

C#自定义将各种对象转换成JSON格式的类

这个C#封装类可以用于将各种格式的数据转换成JSON格式,包括List转换成Json,普通集合转换Json ,DataSet转换为Json ,Datatable转换为Json ,DataReader转换为Json等,如果你需要将对象转换成JSON,可以使用这个类. using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using