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.