C# | Convert.ToInt32(String, IFormatProvider) Method - GeeksforGeeks

05 Dec, 2019
This method is used to converts the specified string representation of a number to an equivalent 32-bit signed integer, using the specified culture-specific formatting information.
Syntax:
public static int ToInt32 (string value, IFormatProvider provider);
Parameters:
value: It is a string that contains the number to convert.
provider: An object that supplies culture-specific formatting information.
Return Value: This method returns a 32-bit signed integer that is equivalent to the number in value, or 0 (zero) if value is null.
Exceptions:
FormatException: If the value does not consist of an optional sign followed by a sequence of digits (0 through 9).
OverflowException: If the value represents a number that is less than MinValue or greater than MaxValue.
Below programs illustrate the use of Convert.ToInt32(String, IFormatProvider) Method:
Example 1:
// C# program to demonstrate the// Convert.ToInt32() Methodusing System;using System.Globalization;  class GFG {  // Main Methodpublic static void Main(){    try {          // creating object of CultureInfo        CultureInfo cultures = new CultureInfo("en-US");          // declaring and initializing String array        string[] values = {"12345", "+12345",                                   "-12345"};          // calling get() Method        Console.Write("Converted int value "                    + "of specified strings: ");          for (int j = 0; j < values.Length; j++)         {            get(values[j], cultures);        }    }      catch (FormatException e)     {          Console.WriteLine("\n");        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }      catch (OverflowException e)     {          Console.WriteLine("\n");        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }}  // Defining get() methodpublic static void get(string s,           CultureInfo cultures){      // converting string to specified int    int val = Convert.ToInt32(s, cultures);      // display the converted char value    Console.Write(" {0}, ", val);}}
Converted int value of specified strings:  12345,  12345,  -12345,

Example 2: For FormatException
// C# program to demonstrate the// Convert.ToInt32() Methodusing System;using System.Globalization;  class GFG {  // Main Methodpublic static void Main(){      try {      // creating object of CultureInfo    CultureInfo cultures = new CultureInfo("en-US");      // declaring and initializing String array    string[] values = {"12345", "+12345",                              "-12345" };      // calling get() Method    Console.WriteLine("Converted int value"              + " of specified strings: ");      for (int j = 0; j < values.Length; j++)    {          get(values[j], cultures);    }      Console.WriteLine("\n");    string s = "123 456, 789";      Console.WriteLine("format of s is invalid ");      // converting string to specified char    int val = Convert.ToInt32(s, cultures);      // display the converted char value    Console.Write(" {0}, ", val);}  catch (FormatException e) {      Console.Write("Exception Thrown: ");    Console.Write("{0}", e.GetType(), e.Message);}catch (OverflowException e) {      Console.Write("Exception Thrown: ");    Console.Write("{0}", e.GetType(), e.Message);}}  // Defining get() methodpublic static void get(string s,           CultureInfo cultures){  // converting string to// specified int valueint val = Convert.ToInt32(s, cultures);  // display the converted int valueConsole.Write(" {0}, ", val);}}
Converted int value of specified strings: 
 12345,  12345,  -12345, 

format of s is invalid 
Exception Thrown: System.FormatException

Example 3: For OverFlowException
// C# program to demonstrate the// Convert.ToInt32() Methodusing System;using System.Globalization;  class GFG {  // Main Methodpublic static void Main(){          try {          // creating object of CultureInfo        CultureInfo cultures = new CultureInfo("en-US");          // declaring and initializing String array        string[] values = {"12345", "+12345",                                  "-12345" };          // calling get() Method        Console.WriteLine("Converted int value "                    + "of specified strings: ");          for (int j = 0; j < values.Length; j++)         {              get(values[j], cultures);        }          Console.WriteLine("\n");        string s = "-7922816251426433759354395033500000";          Console.WriteLine("s is less than the MinValue");          // converting string to specified char        int val = Convert.ToInt32(s, cultures);          // display the converted char value        Console.Write(" {0}, ", val);    }          catch (FormatException e)     {        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }          catch (OverflowException e)     {        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }}  // Defining get() methodpublic static void get(string s,           CultureInfo cultures){      // converting string to    // specified int value    int val = Convert.ToInt32(s, cultures);      // display the converted int value    Console.Write(" {0}, ", val);}}
Converted int value of specified strings: 
 12345,  12345,  -12345, 

s is less than the MinValue
Exception Thrown: System.OverflowException

Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.convert.toint32?view=netframework-4.7.2#System_Convert_ToInt32_System_String_System_IFormatProvider_
CSharp Convert Class
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Extension Method in C#
HashSet in C# with Examples
Top 50 C# Interview Questions & Answers
C# | How to insert an element in an Array?
C# | List Class
C# | Inheritance
Partial Classes in C#
Convert String to Character Array in C#
Lambda Expressions in C#
Difference between Hashtable and Dictionary in C#