//http://sb2extensions.codeplex.com/ //Apache License 2.0 (Apache) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Sb2.Extensions { public static class NullableExtensions { /// <summary> /// Converts String to Any Other Type /// </summary> /// <typeparam name="T"></typeparam> /// <param name="input">The input.</param> /// <returns></returns> public static T? ConvertTo<T>(this string input) where T : struct { T? ret = null; if (!string.IsNullOrEmpty(input)) { ret = (T)Convert.ChangeType(input, typeof(T)); } return ret; } /// <summary> /// Converts String to Any Other Type /// </summary> /// <typeparam name="T"></typeparam> /// <param name="input">The input.</param> /// <param name="provider">The provider.</param> /// <returns></returns> public static T? ConvertTo<T>(this string input, IFormatProvider provider) where T : struct { T? ret = null; if (!string.IsNullOrEmpty(input)) { ret = (T)Convert.ChangeType(input, typeof(T), provider); } return ret; } public static string ToString(this char? input) { return input.HasValue ? input.Value.ToString() : String.Empty; } public static char? ToNullableChar(this string input) { if (input.Trim().Length == 0) return new char?(); else if (input.Trim().Length > 1) throw new ArgumentException("Cannot convert string(" + input.Trim().Length + ") to char?"); else return input[0]; } } }
Software Development
software development notes, main category for Cs, Java, and other programming experiences.
NumberStyles.HexNumber
using System; using System.Globalization; public class StringParsing { public static void Main() { string numericString; NumberStyles styles; numericString = "80c1"; CallTryParse(numericString, NumberStyles.HexNumber); } private static void CallTryParse(string stringToConvert, NumberStyles styles) { Console.WriteLine(stringToConvert); short number; bool result = Int16.TryParse(stringToConvert, styles,CultureInfo.InvariantCulture, out number); if (result) Console.WriteLine(stringToConvert, number); else Console.WriteLine("failed."); } }
NumberStyles.Integer | NumberStyles.AllowExponent
using System; using System.Globalization; public class StringParsing { public static void Main() { string numericString; NumberStyles styles; numericString = "12E-01"; styles = NumberStyles.Integer | NumberStyles.AllowExponent; CallTryParse(numericString, styles); } private static void CallTryParse(string stringToConvert, NumberStyles styles) { Console.WriteLine(stringToConvert); short number; bool result = Int16.TryParse(stringToConvert, styles,CultureInfo.InvariantCulture, out number); if (result) Console.WriteLine(stringToConvert, number); else Console.WriteLine("failed."); } }
NumberStyles.Integer | NumberStyles.AllowThousands
using System; using System.Globalization; public class StringParsing { public static void Main() { string numericString; NumberStyles styles; numericString = "22,593"; styles = NumberStyles.Integer | NumberStyles.AllowThousands; CallTryParse(numericString, styles); } private static void CallTryParse(string stringToConvert, NumberStyles styles) { Console.WriteLine(stringToConvert); short number; bool result = Int16.TryParse(stringToConvert, styles,CultureInfo.InvariantCulture, out number); if (result) Console.WriteLine(stringToConvert, number); else Console.WriteLine("failed."); } }
NumberStyles.Integer | NumberStyles.AllowDecimalPoint
using System; using System.Globalization; public class StringParsing { public static void Main() { string numericString; NumberStyles styles; numericString = "10345.72"; styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint; CallTryParse(numericString, styles); } private static void CallTryParse(string stringToConvert, NumberStyles styles) { Console.WriteLine(stringToConvert); short number; bool result = Int16.TryParse(stringToConvert, styles,CultureInfo.InvariantCulture, out number); if (result) Console.WriteLine(stringToConvert, number); else Console.WriteLine("failed."); } }
NumberStyles.Integer | NumberStyles.AllowDecimalPoint
using System; using System.Globalization; public class StringParsing { public static void Main() { string numericString; NumberStyles styles; numericString = "10345.72"; styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint; CallTryParse(numericString, styles); } private static void CallTryParse(string stringToConvert, NumberStyles styles) { Console.WriteLine(stringToConvert); short number; bool result = Int16.TryParse(stringToConvert, styles,CultureInfo.InvariantCulture, out number); if (result) Console.WriteLine(stringToConvert, number); else Console.WriteLine("failed."); } }
NumberStyles.None
using System; using System.Globalization; public class StringParsing { public static void Main() { string numericString; NumberStyles styles; numericString = "-30677"; styles = NumberStyles.None; CallTryParse(numericString, styles); } private static void CallTryParse(string stringToConvert, NumberStyles styles) { Console.WriteLine(stringToConvert); short number; bool result = Int16.TryParse(stringToConvert, styles,CultureInfo.InvariantCulture, out number); if (result) Console.WriteLine(stringToConvert, number); else Console.WriteLine("failed."); } }