numberstyle-in-parse-and-tryparse-in-csharp

NumberStyle in Parse() and TryParse() in C#

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#.

NumberStyles-with-TryParse-Parse-csharp

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();

        }
    }
}

 

 

One comment

  1. 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.

Leave a Reply