C# | Convert.ToSByte(String, IFormatProvider) Method

This method is used to converts the specified string representation of a number to an equivalent 8-bit signed integer, using the specified culture-specific formatting information.

Syntax:

public static sbyte ToSByte (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 an 8-bit signed integer that is equivalent to value.

Exceptions:



  • ArgumentNullException: If the value is null.
  • 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.ToSByte(String, IFormatProvider) Method:

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate the
// Convert.ToSByte() Method
using System;
using System.Globalization;
  
class GFG {
  
// Main Method
public static void Main()
{
    try {
  
        // creating object of CultureInfo
        CultureInfo cultures = new CultureInfo("en-US");
  
        // declaring and intializing String array
        string[] values = {"123", "+123", "-123"};
  
        // calling get() Method
        Console.Write("Converted sbyte 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() method
public static void get(string s,
           CultureInfo cultures)
{
  
    // converting string to specified sbyte
    sbyte val = Convert.ToSByte(s, cultures);
  
    // display the converted sbyte value
    Console.Write(" {0}, ", val);
}
}

chevron_right


Output:

Converted sbyte value from a specified string:  123,  123,  -123,

Example 2: For FormatException

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate the
// Convert.ToSByte() Method
using System;
using System.Globalization;
  
class GFG {
  
// Main Method
public static void Main()
{
      
    try {
  
        // creating object of CultureInfo
        CultureInfo cultures = new CultureInfo("en-US");
  
        // declaring and intializing String array
        string[] values = {"123", "+123", "-123"};
  
        // calling get() Method
        Console.Write("Converted sbyte 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 sbyte
        sbyte val = Convert.ToSByte(s, cultures);
  
        // display the converted ToSByte 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() method
public static void get(string s,
           CultureInfo cultures)
{
  
    // converting string to
    // specified sbyte value
    sbyte val = Convert.ToSByte(s, cultures);
  
    // display the converted
    // sbyte value
    Console.Write(" {0}, ", val);
}
}

chevron_right


Output:

Converted sbyte value of specified strings:  123,  123,  -123, 

format of s is invalid
Exception Thrown: System.FormatException

Example 3: For OverflowException

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to demonstrate the
// Convert.ToSByte() Method
using System;
using System.Globalization;
  
class GFG {
  
// Main Method
public static void Main()
{
  
    try {
  
        // creating object of CultureInfo
        CultureInfo cultures = new CultureInfo("en-US");
  
        // declaring and intializing String array
        string[] values = {"123", "+123", "-123"};
  
        // calling get() Method
        Console.Write("Converted sbyte 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 sbyte
        sbyte val = Convert.ToSByte(s, cultures);
  
        // display the converted sbyte 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() method
public static void get(string s,
           CultureInfo cultures)
{
  
    // converting string to
    // specified sbyte value
    sbyte val = Convert.ToSByte(s, cultures);
  
    // display the converted sbyte value
    Console.Write(" {0}, ", val);
}
}

chevron_right


Output:

Converted sbyte value of specified strings:  123,  123,  -123, 

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

Reference:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.