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

10 Dec, 2019
This method is used to convert the specified string representation of a number to an equivalent 16-bit signed integer, using the specified culture-specific formatting information.
Syntax:
public static short ToInt16 (string value, IFormatProvider provider);
Parameters:
value: It is a string that contains the number to convert.
provider: It is an object that supplies culture-specific formatting information.
Return Value: This method returns a decimal number which 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.ToDecimal(String, IFormatProvider) Method:
Example 1:
// C# program to demonstrate the// Convert.ToInt16() 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 short value"+                    " from a specified string ");                              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 short    short val = Convert.ToInt16(s, cultures);      // display the converted char value    Console.Write(" {0}, ", val);}}
Converted short value from a specified string  12345,  12345,  -12345,

Example 2: For FormatException
// C# program to demonstrate the// Convert.ToInt16() 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 short 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        short val = Convert.ToInt16(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 short value    short val = Convert.ToInt16(s, cultures);      // display the converted     // decimal value    Console.Write(" {0}, ", val);}}
Converted short 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.ToInt16() 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 short 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 short        short val = Convert.ToInt16(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 decimal value    short val = Convert.ToInt16(s, cultures);      // display the converted decimal value    Console.Write(" {0}, ", val);}}
Converted short 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.toint16?view=netframework-4.7.2#System_Convert_ToInt16_System_String_System_IFormatProvider_
shubham_singh
CSharp Convert Class
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Extension Method in C#
Top 50 C# Interview Questions & Answers
Partial Classes in C#
HashSet in C# with Examples
C# | Inheritance
C# | How to insert an element in an Array?
C# | List Class
Lambda Expressions in C#
C# | Generics - Introduction
What is Regular Expression in C#?