ToInt16 Method (String)

Convert.ToInt16 Method (String)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Converts the specified String representation of a number to an equivalent 16-bit signed integer.

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

'Declaration
Public Shared Function ToInt16 ( _
	value As String _
) As Short

Parameters

value
Type: System.String
A String containing a number to convert.

Return Value

Type: System.Int16
A 16-bit signed integer equivalent to the value of value.
-or-
Zero if value is Nothing.

ExceptionCondition
FormatException

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

OverflowException

value represents a number less than MinValue or greater than MaxValue.

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

The following code example converts String representations of 16-bit integers with the ToInt16 method, using default formatting.


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

Module Example

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

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

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

   Sub ConvertToInt16(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal numericStr As String, _
       ByVal provider As IFormatProvider)

      Dim defaultValue As Object
      Dim providerValue As Object

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

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

      outputBlock.Text &= String.Format(format, numericStr, _
          defaultValue, providerValue) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      ' 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.NumberGroupSeparator = ","
      provider.NumberGroupSizes = New Integer() {3}
      provider.NumberNegativePattern = 0

      outputBlock.Text &= String.Format("This example of" & vbCrLf & _
          "  Convert.ToInt16( String ) and " & vbCrLf & _
          "  Convert.ToInt16( String, IFormatProvider ) " & _
          vbCrLf & "generates the following output. It " & _
          "converts several strings to " & vbCrLf & "Short " & _
          "values, using default formatting " & _
          "or a NumberFormatInfo object." & vbCrLf) & vbCrLf
      outputBlock.Text &= String.Format(format, "String to convert", _
          "Default/exception", "Provider/exception") & vbCrLf
      outputBlock.Text &= String.Format(format, "-----------------", _
          "-----------------", "------------------") & vbCrLf

      ' Convert strings, with and without an IFormatProvider.
      ConvertToInt16(outputBlock, "12345", provider)
      ConvertToInt16(outputBlock, "+12345", provider)
      ConvertToInt16(outputBlock, "pos 12345", provider)
      ConvertToInt16(outputBlock, "-12345", provider)
      ConvertToInt16(outputBlock, "neg 12345", provider)
      ConvertToInt16(outputBlock, "12345.", provider)
      ConvertToInt16(outputBlock, "12,345", provider)
      ConvertToInt16(outputBlock, "(12345)", provider)
      ConvertToInt16(outputBlock, "32768", provider)
      ConvertToInt16(outputBlock, "-32769", provider)
   End Sub
End Module

' This example of
'   Convert.ToInt16( String ) and
'   Convert.ToInt16( String, IFormatProvider )
' generates the following output. It converts several strings to
' Short values, using default formatting or a NumberFormatInfo object.
' 
' String to convert   Default/exception   Provider/exception
' -----------------   -----------------   ------------------
' 12345               12345               12345
' +12345              12345               FormatException
' pos 12345           FormatException     12345
' -12345              -12345              FormatException
' neg 12345           FormatException     -12345
' 12345.              FormatException     FormatException
' 12,345              FormatException     FormatException
' (12345)             FormatException     FormatException
' 32768               OverflowException   OverflowException
' -32769              OverflowException   FormatException


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft