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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串转数字扩展方法字符串处理扩展方法相关的知识,希望对你有一定的参考价值。

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

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

技术分享
  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     }
View Code

使用时就简单了:

1 int id = Request["id"].ToInt32();
2 
3 int itemId = Request["itemId"].ToInt32OrDefault();

 

以上是关于字符串转数字扩展方法字符串处理扩展方法的主要内容,如果未能解决你的问题,请参考以下文章

扩展方法

[转]C#的扩展方法解说

sql怎么把字符串转换为数字?

数组扩展方法之求和

在sql中如何将字符串数字转换成数字?

shell- 字符串处理 扩展的脚本技巧 正则表达式