字符串转数字扩展方法、字符串处理扩展方法

写代码时喜欢连贯的、链式的写下去,而不是光标再返回到前面写类型转换等等。

自定义了些字符串扩展方法:

  1 /// <summary>
  2     /// 字符串操作扩展方法类
  3     /// </summary>
  4     public static class StringOperationExtensions
  5     {
  6         /// <summary>
  7         /// 若输入字符串为null,则返回String.Empty。
  8         /// </summary>
  9         /// <param name="s">输入字符串</param>
 10         /// <returns>输入字符串或String.Empty</returns>
 11         public static string EmptyIfNull(this string s)
 12         {
 13             return (s ?? string.Empty);
 14         }
 15
 16         /// <summary>
 17         /// 去除输入字符串两边的空白,若为null,则结果为string.Empty
 18         /// </summary>
 19         /// <param name="s">输入字符串</param>
 20         /// <returns>去除两边空白的字符串或string.Empty</returns>
 21         public static string TrimOrEmpty(this string s)
 22         {
 23             return s.EmptyIfNull().Trim();
 24         }
 25
 26         /// <summary>
 27         /// 去除输入字符串两边的空白,若为null,则结果为null
 28         /// </summary>
 29         /// <param name="s">输入字符串</param>
 30         /// <returns>去除两边空白的字符串或null</returns>
 31         public static string TrimOrNull(this string s)
 32         {
 33             return (s == null ? null : s.Trim());
 34         }
 35
 36         /// <summary>
 37         /// 将输入字符串转换成Int32,转换不成功则产生异常
 38         /// </summary>
 39         /// <param name="s">输入字符串</param>
 40         /// <returns>Int32值</returns>
 41         public static int ToInt32(this string s)
 42         {
 43             return Convert.ToInt32(s);
 44         }
 45
 46         /// <summary>
 47         /// 将输入字符串转换成Int32,转换不成功则返回提供的默认值,不产生异常
 48         /// </summary>
 49         /// <param name="s">输入字符串</param>
 50         /// <param name="defaultValue">提供的默认值</param>
 51         /// <returns>Int32值</returns>
 52         public static int ToInt32OrDefault(this string s, int defaultValue)
 53         {
 54             int value;
 55             return Int32.TryParse(s, out value) ? value : defaultValue;
 56         }
 57
 58         /// <summary>
 59         /// 将输入字符串转换成Int32,转换不成功返回0,不产生异常
 60         /// </summary>
 61         /// <param name="s">输入字符串</param>
 62         /// <returns>Int32值</returns>
 63         public static int ToInt32OrDefault(this string s)
 64         {
 65             return s.ToInt32OrDefault(0);
 66         }
 67
 68         /// <summary>
 69         /// 将输入字符串转换成decimal,转换不成功则产生异常
 70         /// </summary>
 71         /// <param name="s">输入字符串</param>
 72         /// <returns>decimal值</returns>
 73         public static decimal ToDecimal(this string s)
 74         {
 75             return Convert.ToDecimal(s);
 76         }
 77
 78         /// <summary>
 79         /// 将输入字符串转换成decimal,转换不成功则返回提供的默认值,不产生异常
 80         /// </summary>
 81         /// <param name="s">输入字符串</param>
 82         /// <param name="defaultValue">提供的默认值</param>
 83         /// <returns>decimal值或提供的默认值</returns>
 84         public static decimal ToDecimalOrDefault(this string s, decimal defaultValue)
 85         {
 86             decimal value;
 87             return decimal.TryParse(s, out value) ? value : defaultValue;
 88         }
 89
 90         /// <summary>
 91         /// 将输入字符串转换成decimal,转换不成功则返回0,不产生异常
 92         /// </summary>
 93         /// <param name="s">输入字符串</param>
 94         /// <returns>decimal值或0</returns>
 95         public static decimal ToDecimalOrDefault(this string s)
 96         {
 97             return s.ToDecimalOrDefault(0M);
 98         }
 99
100         /// <summary>
101         /// 将输入字符串转换成DateTime,转换不成功则产生异常
102         /// </summary>
103         /// <param name="s">输入字符串</param>
104         /// <returns>DateTime值</returns>
105         public static DateTime ToDateTime(this string s)
106         {
107             return Convert.ToDateTime(s);
108         }
109
110         /// <summary>
111         /// 将输入字符串转换成DateTime,转换不成功则产生异常
112         /// </summary>
113         /// <param name="s">输入字符串</param>
114         /// <param name="format">字符串格式</param>
115         /// <returns>DateTime值</returns>
116         public static DateTime ToDateTime(this string s, string format)
117         {
118             return DateTime.ParseExact(s, format, null);
119         }
120
121         /// <summary>
122         /// 将输入字符串转换成Int16,转换不成功则产生异常
123         /// </summary>
124         /// <param name="s">输入字符串</param>
125         /// <returns>Int16值</returns>
126         public static short ToInt16(this string s)
127         {
128             return Convert.ToInt16(s);
129         }
130
131         /// <summary>
132         /// 将输入字符串转换成Int16,转换不成功则返回提供的默认值,不产生异常
133         /// </summary>
134         /// <param name="s">输入字符串</param>
135         /// <param name="defaultValue">提供的默认值</param>
136         /// <returns>Int16值或提供的默认值</returns>
137         public static short ToInt16OrDefault(this string s, short defaultValue)
138         {
139             short value;
140             return short.TryParse(s, out value) ? value : defaultValue;
141         }
142
143         /// <summary>
144         /// 将输入字符串转换成Int16,转换不成功则返回0,不产生异常
145         /// </summary>
146         /// <param name="s">输入字符串</param>
147         /// <returns>Int16值或0</returns>
148         public static short ToInt16OrDefault(this string s)
149         {
150             return s.ToInt16OrDefault(0);
151         }
152
153         /// <summary>
154         /// 将输入字符串转换成Int64,转换不成功则产生异常
155         /// </summary>
156         /// <param name="s">输入字符串</param>
157         /// <returns>Int64值</returns>
158         public static long ToInt64(this string s)
159         {
160             return Convert.ToInt64(s);
161         }
162
163         /// <summary>
164         /// 将输入字符串转换成Int64,转换不成功则返回提供的默认值,不产生异常
165         /// </summary>
166         /// <param name="s">输入字符串</param>
167         /// <param name="defaultValue">提供的默认值</param>
168         /// <returns>Int64值或提供的默认值</returns>
169         public static long ToInt64OrDefault(this string s, long defaultValue)
170         {
171             long value;
172             return long.TryParse(s, out value) ? value : defaultValue;
173         }
174
175         /// <summary>
176         /// 将输入字符串转换成Int64,转换不成功则返回0,不产生异常
177         /// </summary>
178         /// <param name="s">输入字符串</param>
179         /// <returns>Int64值或0</returns>
180         public static long ToInt64OrDefault(this string s)
181         {
182             return s.ToInt64OrDefault(0);
183         }
184
185         /// <summary>
186         /// 将输入字符串转换成byte,转换不成功则产生异常
187         /// </summary>
188         /// <param name="s">输入字符串</param>
189         /// <returns>byte值</returns>
190         public static byte ToByte(this string s)
191         {
192             return Convert.ToByte(s);
193         }
194
195         /// <summary>
196         /// 将输入字符串转换成byte,转换不成功则返回提供的默认值,不产生异常
197         /// </summary>
198         /// <param name="s">输入字符串</param>
199         /// <param name="defaultValue">提供的默认值</param>
200         /// <returns>byte值或提供的默认值</returns>
201         public static byte ToByteOrDefault(this string s, byte defaultValue)
202         {
203             byte value;
204             return byte.TryParse(s, out value) ? value : defaultValue;
205         }
206
207         /// <summary>
208         /// 将输入字符串转换成byte,转换不成功则返回0,不产生异常
209         /// </summary>
210         /// <param name="s">输入字符串</param>
211         /// <returns>byte值或0</returns>
212         public static byte ToByteOrDefault(this string s)
213         {
214             return s.ToByteOrDefault(0);
215         }
216
217         /// <summary>
218         /// 将输入字符串转换成double,转换不成功则产生异常
219         /// </summary>
220         /// <param name="s">输入字符串</param>
221         /// <returns>double值</returns>
222         public static double ToDouble(this string s)
223         {
224             return Convert.ToDouble(s);
225         }
226
227         /// <summary>
228         /// 将输入字符串转换成double,转换不成功则返回提供的默认值,不产生异常
229         /// </summary>
230         /// <param name="s">输入字符串</param>
231         /// <param name="defaultValue">提供的默认值</param>
232         /// <returns>double值或提供的默认值</returns>
233         public static double ToDoubleOrDefault(this string s, double defaultValue)
234         {
235             double value;
236             return double.TryParse(s, out value) ? value : defaultValue;
237         }
238
239         /// <summary>
240         /// 将输入字符串转换成double,转换不成功则返回0,不产生异常
241         /// </summary>
242         /// <param name="s">输入字符串</param>
243         /// <returns>double值或0</returns>
244         public static double ToDoubleOrDefault(this string s)
245         {
246             return s.ToDoubleOrDefault(0D);
247         }
248
249         /// <summary>
250         /// 将输入字符串转换成float,转换不成功则产生异常
251         /// </summary>
252         /// <param name="s">输入字符串</param>
253         /// <returns>float值</returns>
254         public static float ToFloat(this string s)
255         {
256             return Convert.ToSingle(s);
257         }
258
259         /// <summary>
260         /// 将输入字符串转换成float,转换不成功则返回提供的默认值,不产生异常
261         /// </summary>
262         /// <param name="s">输入字符串</param>
263         /// <param name="defaultValue">提供的默认值</param>
264         /// <returns>float值或提供的默认值</returns>
265         public static float ToFloatOrDefault(this string s, float defaultValue)
266         {
267             float value;
268             return float.TryParse(s, out value) ? value : defaultValue;
269         }
270
271         /// <summary>
272         /// 将输入字符串转换成float,转换不成功则返回0,不产生异常
273         /// </summary>
274         /// <param name="s">输入字符串</param>
275         /// <returns>float值或0</returns>
276         public static float ToFloatOrDefault(this string s)
277         {
278             return s.ToFloatOrDefault(0F);
279         }
280     }

使用时就简单了:

1 int id = Request["id"].ToInt32();
2
3 int itemId = Request["itemId"].ToInt32OrDefault();
时间: 2024-10-28 10:33:13

字符串转数字扩展方法、字符串处理扩展方法的相关文章

java 数字转换成字符串与数字转换成字符串

各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成各种数字类型: String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Float f = Float

jquery过滤特殊字符及js字符串转为数字

//替换特殊字符 $(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, "")); 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 一些示

json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

主要内容: 一.json相关概念 二.json字符串转换成json对象 (字符串-->JSON对象) 三.json对象转换成字符串(json对象-->字符串) 四.将值转换成字符串(值-->字符串) 五.字符串转成值(字符串-->值) 同步的交流学习社区:http://www.mwcxs.top/page/425.html 一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想

ES6随笔--各数据类型的扩展(1) --字符串和正则

ES6随笔--基本数据类型的扩展 字符串 Unicode表示法 \uxxxx表示的Unicode如果码数超过了0xFFFF的范围,只要放进大括号内就能识别: codePointAt() 用codePointAt()可以准确识别码数超出0xFFFF范围的Unicode字符: for...of循环能够正确识别32位的UTF-16字符: String.fromCodePoint() 与codePointAt()作用刚好相反:根据传入的Unicede码数返回对应的字符: 遍历 for...of循环可以循

黑马程序员-OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方

回文数扩展--长字符串版

//回文数扩展 长字符串版 #include<iostream> #include<string> using namespace std; int main() { string str,s; cin>>str; int n=str.size(); for(int i=n-1;i>=0;i--) { s.push_back(str[i]); } if(str==s) { cout<<"是回文"<<endl; } els

判断字符串是不是数字的方法

判断字符串是不是数字? 方法一: /** * 用于验证获取的字符串是不是数字 * @param str * @return */ public static boolean isNumeric(String str) { for (int i = 0; i < str.length(); i++) { // 验证字符串中的字符是不是数字 if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } 方法二: /

C# DataSet 的getXML()方法转换获得的XML字符串,数字开头,包含其他特殊字符时的处理

C# DataSet 的getXML()方法转换获得的XML字符串,数字开头,包含其他特殊字符时的会给转义成以"_x00"开头,"_"结尾的16进制的ascii码.  导致前台与Grid++Report的前面的数据列的绑定不一致了,所以,就要进行单独处理. 将Grid++Report前台的字段名称,也按照这种方式进行编码,使之匹配上. 编码方法如下.中文和英文不编码,其余字符串都以编码表示字段列. internal string EnCode16ASI(string

while补充,字符串和数字的内置方法

一.while循环的补充 while True: name=input('please input your name: ') password=input('please input your password: ') if name == 'egon' and password == '123': print('login successfull') while True: cmd=input('>>: ') if cmd == 'quit': break print('====>'