Convert.ToSByte Method (String, IFormatProvider)

Converts the specified string representation of a number to an equivalent 8-bit signed integer, using the specified culture-specific formatting information.

This API is not CLS-compliant. 

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
<CLSCompliantAttribute(False)> _
Public Shared Function ToSByte ( _
	value As String, _
	provider As IFormatProvider _
) As SByte

Parameters

value
Type: System.String

A string that contains the number to convert.

provider
Type: System.IFormatProvider

An object that supplies culture-specific formatting information.

Return Value

Type: System.SByte
An 8-bit signed integer that is equivalent to value.

ExceptionCondition
ArgumentNullException

value is Nothing.

FormatException

value does not consist of an optional sign followed by a sequence of digits (0 through 9).

OverflowException

value represents a number that is less than SByte.MinValue or greater than SByte.MaxValue.

provider is an IFormatProvider instance that obtains a NumberFormatInfo object. The NumberFormatInfo object provides culture-specific information about the format of value. If provider is Nothing, the NumberFormatInfo for the current culture is used.

If you prefer not to handle an exception if the conversion fails, you can call the SByte.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

The following example converts string representations of SByte values with the ToSByte method, using an IFormatProvider object.

' Example of the Convert.ToSByte( String ) and  
' Convert.ToSByte( String, IFormatProvider ) methods. 
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Module ToSByteProviderDemo

    Dim format As String = "{0,-20}{1,-20}{2}" 

    ' Get the exception type name; remove the namespace prefix. 
    Function GetExceptionType( ex As Exception ) As String 

        Dim exceptionType   As String = ex.GetType( ).ToString( )
        Return exceptionType.Substring( _
            exceptionType.LastIndexOf( "."c ) + 1 )
    End Function 

    Sub ConvertToSByte( numericStr As String, _
        provider As IFormatProvider )

        Dim defaultValue    As Object 
        Dim providerValue   As Object 

        ' Convert numericStr to SByte without a format provider. 
        Try
            defaultValue = Convert.ToSByte( numericStr )
        Catch ex As Exception
            defaultValue = GetExceptionType( ex )
        End Try 

        ' Convert numericStr to SByte with a format provider. 
        Try
            providerValue = Convert.ToSByte( numericStr, provider )
        Catch ex As Exception
            providerValue = GetExceptionType( ex )
        End Try

        Console.WriteLine( format, numericStr, _
            defaultValue, providerValue )
    End Sub 

    Sub Main( )

        ' Create a NumberFormatInfo object and set several of its 
        ' properties that apply to numbers. 
        Dim provider  As NumberFormatInfo = new NumberFormatInfo( )

        ' These properties affect the conversion.
        provider.NegativeSign = "neg "
        provider.PositiveSign = "pos " 

        ' These properties do not affect the conversion. 
        ' The input string cannot have decimal and group separators.
        provider.NumberDecimalSeparator = "."
        provider.NumberNegativePattern = 0

        Console.WriteLine( "This example of" & vbCrLf & _
            "  Convert.ToSByte( String ) and " & vbCrLf & _
            "  Convert.ToSByte( String, IFormatProvider ) " & _
            vbCrLf & "generates the following output. It " & _
            "converts several strings to " & vbCrLf & "SByte " & _
            "values, using default formatting " & _
            "or a NumberFormatInfo object." & vbCrLf )
        Console.WriteLine( format, "String to convert", _
            "Default/exception", "Provider/exception" )
        Console.WriteLine( format, "-----------------", _
            "-----------------", "------------------" )

        ' Convert strings, with and without an IFormatProvider.
        ConvertToSByte( "123", provider )
        ConvertToSByte( "+123", provider )
        ConvertToSByte( "pos 123", provider )
        ConvertToSByte( "-123", provider )
        ConvertToSByte( "neg 123", provider )
        ConvertToSByte( "123.", provider )
        ConvertToSByte( "(123)", provider )
        ConvertToSByte( "128", provider )
        ConvertToSByte( "-129", provider )
    End Sub  
End Module  

' This example of 
'   Convert.ToSByte( String ) and 
'   Convert.ToSByte( String, IFormatProvider ) 
' generates the following output. It converts several strings to 
' SByte values, using default formatting or a NumberFormatInfo object. 
'  
' String to convert   Default/exception   Provider/exception 
' -----------------   -----------------   ------------------ 
' 123                 123                 123 
' +123                123                 FormatException 
' pos 123             FormatException     123 
' -123                -123                FormatException 
' neg 123             FormatException     -123 
' 123.                FormatException     FormatException 
' (123)               FormatException     FormatException 
' 128                 OverflowException   OverflowException 
' -129                OverflowException   FormatException

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft