Table of Contents
NumberStyle in Parse() and TryParse() in C#
Hello folks, today we will learn about NumberStyle in Parse() and TryParse() in C# using examples one by one by taking one by one NumberStyles as shown in below image. So let’s try to understand NumberStyle in Parse() and TryParse() in C#.
1. NumberStyles.None
This Number style will permit only Integer as shown below example.
using System; using System.Globalization; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string strNumber = "123456"; int number = int.Parse(strNumber, NumberStyles.None); Console.WriteLine("Number:" + number); // Output: 123456 CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); bool bNumber = int.TryParse(strNumber, NumberStyles.None, culture, out number); Console.WriteLine("Number:" + number); // Output: 123456 Console.ReadKey(); } } }
2. NumberStyles.AllowDecimalPoint
This NumberStyle also allowed decimal values to convert into integer, else conversion will thrown an exception as System.FormatException: ‘Input string was not in a correct format.’ shown below example:
using System; using System.Globalization; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string strNumber = "123456.00"; int number = int.Parse(strNumber, NumberStyles.AllowDecimalPoint); Console.WriteLine("Number:" + number); // Output: 123456 CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); bool bNumber = int.TryParse(strNumber, NumberStyles.AllowDecimalPoint, culture, out number); Console.WriteLine("Number:" + number); // Output: 123456 Console.ReadKey(); } } }
3. NumberStyles.AllowExponent & NumberStyles.Float
using System; using System.Globalization; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string strNumber = "-5e20"; CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); double d = double.Parse(strNumber, NumberStyles.AllowExponent | NumberStyles.Float); Console.WriteLine("Number:" + d); //Output: -5e20 bool bNumber = double.TryParse(strNumber, NumberStyles.AllowExponent | NumberStyles.Float, culture, out d); Console.WriteLine("Number:" + d); //Output: -5e20 Console.ReadKey(); } } }
4. NumberStyles.AllowLeadingSign & NumberStyles.AllowLeadingWhite & NumberStyles.AllowTrailingWhite & NumberStyles.AllowParentheses
using System; using System.Globalization; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string strNumber = " (20) "; CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); int d = int.Parse(strNumber, NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite | NumberStyles.AllowParentheses); Console.WriteLine("Number:" + d);//Output:-20 bool bNumber = int.TryParse(strNumber, NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite | NumberStyles.AllowParentheses, culture, out d); Console.WriteLine("Number:" + d);//Output:-20 Console.ReadKey(); } } }
5. NumberStyles.AllowThousands
using System; using System.Globalization; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string strNumber = "1,200,510"; CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); int d = int.Parse(strNumber, NumberStyles.AllowThousands); Console.WriteLine("Number:" + d);//Output:1200510 bool bNumber = int.TryParse(strNumber, NumberStyles.AllowThousands, culture, out d); Console.WriteLine("Number:" + d);//Output:1200510 Console.ReadKey(); } } }
6. NumberStyles.AllowCurrencySymbol
using System; using System.Globalization; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string strNumber = "$30"; CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); int d = int.Parse(strNumber, NumberStyles.AllowCurrencySymbol); Console.WriteLine("Number:" + d);//Output:30 bool bNumber = int.TryParse(strNumber, NumberStyles.AllowCurrencySymbol, culture, out d); Console.WriteLine("Number:" + d);//Output:30 Console.ReadKey(); } } }
Great information. Since last week, I am gathering details about the C# experience.
There are some amazing details on your blog which I didn’t know. Thanks.