当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET Convert.ToInt16方法代码示例

本文整理汇总了VB.NET中System.Convert.ToInt16方法的典型用法代码示例。如果您正苦于以下问题:VB.NET Convert.ToInt16方法的具体用法?VB.NET Convert.ToInt16怎么用?VB.NET Convert.ToInt16使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Convert的用法示例。


在下文中一共展示了Convert.ToInt16方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。

示例1: numbers

Dim numbers() As SByte = { SByte.MinValue, -1, 0, 10, SByte.MaxValue }
Dim result As Short

For Each number As SByte In numbers
   result = Convert.ToInt16(number)
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
                     number.GetType().Name, number, _
                     result.GetType().Name, result)
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:9,代码来源:Convert.ToInt16

输出:

Converted the SByte value -128 to the Int16 value -128.
Converted the SByte value -1 to the Int16 value -1.
Converted the SByte value 0 to the Int16 value 0.
Converted the SByte value 10 to the Int16 value 10.
Converted the SByte value 127 to the Int16 value 127.

示例2: ToInt16ProviderDemo

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

Module ToInt16ProviderDemo

    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 ConvertToInt16( numericStr As String, _
        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

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

        Console.WriteLine( "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 )
        Console.WriteLine( format, "String to convert", _
            "Default/exception", "Provider/exception" )
        Console.WriteLine( format, "-----------------", _
            "-----------------", "------------------" )

        ' Convert strings, with and without an IFormatProvider.
        ConvertToInt16( "12345", provider )
        ConvertToInt16( "+12345", provider )
        ConvertToInt16( "pos 12345", provider )
        ConvertToInt16( "-12345", provider )
        ConvertToInt16( "neg 12345", provider )
        ConvertToInt16( "12345.", provider )
        ConvertToInt16( "12,345", provider )
        ConvertToInt16( "(12345)", provider )
        ConvertToInt16( "32768", provider )
        ConvertToInt16( "-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
开发者ID:VB.NET开发者,项目名称:System,代码行数:101,代码来源:Convert.ToInt16

示例3: IConvertibleProviderDemo

' 导入命名空间
Imports System.Collections

Module IConvertibleProviderDemo

    ' Define the types of averaging available in the class 
    ' implementing IConvertible.
    Enum AverageType as Short
        None = 0
        GeometricMean = 1
        ArithmeticMean = 2
        Median = 3
    End Enum

    ' Pass an instance of this class to methods that require an 
    ' IFormatProvider. The class instance determines the type of 
    ' average to calculate.
    Public Class AverageInfo
        Implements IFormatProvider

        Protected  AvgType      As AverageType

        ' Specify the type of averaging in the constructor.
        Public Sub New( avgType As AverageType )
            Me.AvgType = avgType
        End Sub

        ' This method returns a reference to the containing object 
        ' if an object of AverageInfo type is requested. 
        Public Function GetFormat( argType As Type ) As Object _
            Implements IFormatProvider.GetFormat

            If argType Is GetType( AverageInfo ) Then
                Return Me
            Else
                Return Nothing
            End If
        End Function 

        ' Use this property to set or get the type of averaging.
        Public Property TypeOfAverage( ) As AverageType
            Get
                Return Me.AvgType
            End Get
            Set( ByVal value as AverageType )
                Me.AvgType = value
            End Set
        End Property
    End Class 

    ' This class encapsulates an array of Double values and implements 
    ' the IConvertible interface. Most of the IConvertible methods 
    ' return an average of the array elements in one of three types: 
    ' arithmetic mean, geometric mean, or median. 
    Public Class DataSet
        Implements IConvertible

        Protected data              As ArrayList
        Protected defaultProvider   As AverageInfo
           
        ' Construct the object and add an initial list of values.
        ' Create a default format provider.
        Public Sub New( ParamArray values( ) As Double )
            data = New ArrayList( values )
            defaultProvider = New AverageInfo( _
                AverageType.ArithmeticMean )  
        End Sub
           
        ' Add additional values with this method.
        Public Function Add( value As Double ) As Integer
            data.Add( value )
            Return data.Count
        End Function
           
        ' Get, set, and add values with this indexer property.
        Default Public Property Item(index As Integer) As Double
            Get
                If index >= 0 AndAlso index < data.Count Then
                    Return System.Convert.ToDouble( data( index ) )
                Else
                    Throw New InvalidOperationException( _
                        "[DataSet.get] Index out of range." )
                End If
            End Get
            Set
                If index >= 0 AndAlso index < data.Count Then
                    data( index ) = value
                 
                ElseIf index = data.Count Then
                    data.Add( value )
                Else
                    Throw New InvalidOperationException( _
                        "[DataSet.set] Index out of range." )
                End If
            End Set
        End Property
          
        ' This property returns the number of elements in the object.
        Public ReadOnly Property Count( ) As Integer
            Get
                Return data.Count
            End Get
        End Property

        ' This method calculates the average of the object's elements.
        Protected Function Average( ByVal avgType As AverageType ) As Double

            Dim SumProd As Double 
            Dim Index   As Integer

            If data.Count = 0 Then Return 0.0

            Select Case avgType
                
                Case AverageType.GeometricMean

                    SumProd = 1.0
                    For Index = 0 To data.Count - 1
                        SumProd *= data( Index )
                    Next Index
                    
                    ' This calculation will not fail with negative 
                    ' elements.
                    Return Math.Sign( SumProd ) * Math.Pow( _
                        Math.Abs( SumProd ), 1.0 / data.Count )

                Case AverageType.ArithmeticMean

                    SumProd = 0.0
                    For Index = 0 To data.Count - 1
                        SumProd += data( Index )
                    Next Index

                    Return SumProd / data.Count 

                Case AverageType.Median

                    If data.Count Mod 2 = 0 Then
                        Return ( data( data.Count \ 2 ) + _
                            data( data.Count \ 2 - 1 ) ) / 2.0
                    Else
                        Return data( data.Count \ 2 ) 
                    End If
            End Select
        End Function

        ' Get the AverageInfo object from the caller's format 
        ' provider, or use the local default.
        Protected Function GetAverageInfo( _
            provider As IFormatProvider ) As AverageInfo

            Dim avgInfo As AverageInfo = Nothing

            If Not provider Is Nothing Then
                avgInfo = provider.GetFormat( GetType( AverageInfo ) )
            End If

            Return IIf( avgInfo Is Nothing, defaultProvider, avgInfo )
            
        End Function           

        ' Calculate the average and limit the range.
        Protected Function CalcNLimitAverage( min As Double, _
            max As Double, provider as IFormatProvider ) As Double

            ' Get the format provider and calculate the average.
            Dim avgInfo As AverageInfo = GetAverageInfo( provider )
            Dim avg As Double = Average( avgInfo.TypeOfAverage )

            ' Limit the range, based on the minimum and maximum values 
            ' for the type.
            Return IIf( avg > max, max, IIf( avg < min, min, avg ) )

        End Function

        ' The following elements are required by IConvertible.

        ' None of these conversion functions throw exceptions. When
        ' the data is out of range for the type, the appropriate
        ' MinValue or MaxValue is used.
        Public Function GetTypeCode( ) As TypeCode _
            Implements IConvertible.GetTypeCode
            Return TypeCode.Object
        End Function

        Function ToBoolean( ByVal provider As IFormatProvider ) As _
            Boolean Implements IConvertible.ToBoolean

            ' ToBoolean is false if the dataset is empty.
            If data.Count <= 0 Then
                Return False

            ' For median averaging, ToBoolean is true if any 
            ' non-discarded elements are nonzero.
            ElseIf AverageType.Median = _
                GetAverageInfo( provider ).TypeOfAverage Then

                If data.Count Mod 2 = 0 Then
                    Return ( data( data.Count \ 2 ) <> 0.0 Or _
                        data( data.Count \ 2 - 1 ) <> 0.0 )
                Else
                    Return data( data.Count \ 2 ) <> 0.0
                End If

            ' For arithmetic or geometric mean averaging, ToBoolean is 
            ' true if any element of the dataset is nonzero.  
            Else
                Dim Index As Integer
                For Index = 0 To data.Count - 1
                    If data( Index ) <> 0.0 Then Return True
                Next Index
                Return False
            End If
        End Function

        Function ToByte( ByVal provider As IFormatProvider ) As Byte _
            Implements IConvertible.ToByte
            Return Convert.ToByte( CalcNLimitAverage( _
                Byte.MinValue, Byte.MaxValue, provider ) )
        End Function

        Function ToChar( ByVal provider As IFormatProvider ) As Char _
            Implements IConvertible.ToChar
            Return Convert.ToChar( Convert.ToUInt16( _
                CalcNLimitAverage( 0.0, &HFFFF, provider ) ) )
        End Function

        ' Convert to DateTime by adding the calculated average as 
        ' seconds to the current date and time. A valid DateTime is 
        ' always returned.
        Function ToDateTime( ByVal provider As IFormatProvider ) As _
            DateTime Implements IConvertible.ToDateTime
            Dim seconds As Double = Average( _
                GetAverageInfo( provider ).TypeOfAverage )
            Try
                Return DateTime.Now.AddSeconds( seconds )
            Catch ex As ArgumentOutOfRangeException 
                Return IIf( seconds < 0.0, DateTime.MinValue, _
                    DateTime.MaxValue )
            End Try
        End Function

        Function ToDecimal( ByVal provider As IFormatProvider ) As _
            Decimal Implements IConvertible.ToDecimal

            ' The Double conversion rounds Decimal.MinValue and
            ' Decimal.MaxValue to invalid Decimal values, so the 
            ' following limits must be used.
            Return Convert.ToDecimal( CalcNLimitAverage( _
                -79228162514264330000000000000.0, _
                79228162514264330000000000000.0, provider ) )
        End Function

        Function ToDouble( ByVal provider As IFormatProvider) As _
            Double Implements IConvertible.ToDouble
            Return Average( GetAverageInfo( provider ).TypeOfAverage )
        End Function

        Function ToInt16( ByVal provider As IFormatProvider ) As _
            Short Implements IConvertible.ToInt16
            Return Convert.ToInt16( CalcNLimitAverage( _
                Int16.MinValue, Int16.MaxValue, provider ) )
        End Function

        Function ToInt32( ByVal provider As IFormatProvider ) As _
            Integer Implements IConvertible.ToInt32
            Return Convert.ToInt32( CalcNLimitAverage( _
                Int32.MinValue, Int32.MaxValue, provider ) )
        End Function

        Function ToInt64( ByVal provider As IFormatProvider ) As Long _
            Implements IConvertible.ToInt64

            ' The Double conversion rounds Int64.MinValue and 
            ' Int64.MaxValue to invalid Long values, so the following 
            ' limits must be used.
            Return Convert.ToInt64( CalcNLimitAverage( _
                -9223372036854775000, 9223372036854775000, provider ) )
        End Function

        Function ToSByte( ByVal provider As IFormatProvider ) As _
            SByte Implements IConvertible.ToSByte

            ' SByte.MinValue and SByte.MaxValue are not defined in
            ' Visual Basic.
            Return Convert.ToSByte( CalcNLimitAverage( _
                -128, 127, provider ) )
        End Function

        Function ToSingle( ByVal provider As IFormatProvider ) As _
            Single Implements IConvertible.ToSingle
            Return Convert.ToSingle( CalcNLimitAverage( _
                Single.MinValue, Single.MaxValue, provider ) )
        End Function

        Function ToUInt16( ByVal provider As IFormatProvider ) As _
            UInt16 Implements IConvertible.ToUInt16

            ' UInt16.MinValue and UInt16.MaxValue are not defined in 
            ' Visual Basic.
            Return Convert.ToUInt16( CalcNLimitAverage( _
                0, &HFFFF, provider ) )
        End Function

        Function ToUInt32( ByVal provider As IFormatProvider ) As _
            UInt32 Implements IConvertible.ToUInt32

            ' UInt32.MinValue and UInt32.MaxValue are not defined in 
            ' Visual Basic.
            Return Convert.ToUInt32( CalcNLimitAverage( _
                0, 4294967295, provider ) )
        End Function

        Function ToUInt64( ByVal provider As IFormatProvider ) As _
            UInt64 Implements IConvertible.ToUInt64

            ' UInt64.MinValue and UInt64.MaxValue are not defined in 
            ' Visual Basic. The Double conversion would have rounded 
            ' UInt64.MaxValue, so the following limit must be used.
            Return Convert.ToUInt64( CalcNLimitAverage( _
                0, 18446744073709550000.0, provider ) )
        End Function

        Function ToType( ByVal conversionType As Type, _
            ByVal provider As IFormatProvider) As Object _
            Implements IConvertible.ToType
            Return Convert.ChangeType( Average( GetAverageInfo( _
                provider ).TypeOfAverage ), conversionType )
        End Function

        Overloads Function ToString( ByVal provider As IFormatProvider _
            ) As String Implements IConvertible.ToString
            Dim avgType as AverageType = _
                GetAverageInfo( provider ).TypeOfAverage
            Return String.Format( "( {0}: {1:G10} )", avgType, _
                Average( avgType ) )
        End Function
    End Class
   
    ' Display a DataSet with three different format providers.
    Sub DisplayDataSet( ds As DataSet )

        Dim fmt    As String      = "{0,-12}{1,20}{2,20}{3,20}"
        Dim median As AverageInfo = New AverageInfo( AverageType.Median )
        Dim geMean As AverageInfo = _
            New AverageInfo( AverageType.GeometricMean )
        Dim iX     As Integer

        ' Display the dataset elements.
        If ds.Count > 0 Then
            Console.Write( vbCrLf & "DataSet: [{0}", ds( 0 ) )
            For iX = 1 To ds.Count - 1
                Console.Write( ", {0}", ds( iX ) )
            Next iX
            Console.WriteLine( "]" & vbCrLf )
        End If

        Console.WriteLine( fmt, "Convert.", "Default", _
            "Geometric Mean", "Median" )
        Console.WriteLine( fmt, "--------", "-------", _
            "--------------", "------" )
        Console.WriteLine( fmt, "ToBoolean", _
            Convert.ToBoolean( ds, Nothing ), _
            Convert.ToBoolean( ds, geMean ), _
            Convert.ToBoolean( ds, median ) )
        Console.WriteLine( fmt, "ToByte", _
            Convert.ToByte( ds, Nothing ), _
            Convert.ToByte( ds, geMean ), _
            Convert.ToByte( ds, median ) )
        Console.WriteLine( fmt, "ToChar", _
            Convert.ToChar( ds, Nothing ), _
            Convert.ToChar( ds, geMean ), _
            Convert.ToChar( ds, median ) )
        Console.WriteLine( "{0,-12}{1,20:yyyy-MM-dd HH:mm:ss}" & _
            "{2,20:yyyy-MM-dd HH:mm:ss}{3,20:yyyy-MM-dd HH:mm:ss}", _
            "ToDateTime", Convert.ToDateTime( ds, Nothing ), _
            Convert.ToDateTime( ds, geMean ), _
            Convert.ToDateTime( ds, median ) )
        Console.WriteLine( fmt, "ToDecimal", _
            Convert.ToDecimal( ds, Nothing ), _
            Convert.ToDecimal( ds, geMean ), _
            Convert.ToDecimal( ds, median ) )
        Console.WriteLine( fmt, "ToDouble", _
            Convert.ToDouble( ds, Nothing ), _
            Convert.ToDouble( ds, geMean ), _
            Convert.ToDouble( ds, median ) )
        Console.WriteLine( fmt, "ToInt16", _
            Convert.ToInt16( ds, Nothing ), _
            Convert.ToInt16( ds, geMean ), _
            Convert.ToInt16( ds, median ) )
        Console.WriteLine( fmt, "ToInt32", _
            Convert.ToInt32( ds, Nothing ), _
            Convert.ToInt32( ds, geMean ), _
            Convert.ToInt32( ds, median ) )
        Console.WriteLine( fmt, "ToInt64", _
            Convert.ToInt64( ds, Nothing ), _
            Convert.ToInt64( ds, geMean ), _
            Convert.ToInt64( ds, median ) )
        Console.WriteLine( fmt, "ToSByte", _
            Convert.ToSByte( ds, Nothing ), _
            Convert.ToSByte( ds, geMean ), _
            Convert.ToSByte( ds, median ) )
        Console.WriteLine( fmt, "ToSingle", _
            Convert.ToSingle( ds, Nothing ), _
            Convert.ToSingle( ds, geMean ), _
            Convert.ToSingle( ds, median ) )
        Console.WriteLine( fmt, "ToUInt16", _
            Convert.ToUInt16( ds, Nothing ), _
            Convert.ToUInt16( ds, geMean ), _
            Convert.ToUInt16( ds, median ) )
        Console.WriteLine( fmt, "ToUInt32", _
            Convert.ToUInt32( ds, Nothing ), _
            Convert.ToUInt32( ds, geMean ), _
            Convert.ToUInt32( ds, median ) )
        Console.WriteLine( fmt, "ToUInt64", _
            Convert.ToUInt64( ds, Nothing ), _
            Convert.ToUInt64( ds, geMean ), _
            Convert.ToUInt64( ds, median ) )
    End Sub
   
    Sub Main( )
        Console.WriteLine( _
            "This example of the Convert.To<Type>( Object, " & _
            "IFormatProvider ) methods " & vbCrLf & "generates " & _
            "the following output. The example displays the " & _
            "values " & vbCrLf & "returned by the methods, " & _
            "using several IFormatProvider objects." & vbCrLf )
          
        Dim ds1 As New DataSet( 10.5, 22.2, 45.9, 88.7, 156.05, 297.6 )
        DisplayDataSet( ds1 )
          
        Dim ds2 As New DataSet( _
            359999.95, 425000, 499999.5, 775000, 1695000 )
        DisplayDataSet( ds2 )
    End Sub 
End Module 

' This example of the Convert.To<Type>( Object, IFormatProvider ) methods
' generates the following output. The example displays the values
' returned by the methods, using several IFormatProvider objects.
' 
' DataSet: [10.5, 22.2, 45.9, 88.7, 156.05, 297.6]
' 
' Convert.                 Default      Geometric Mean              Median
' --------                 -------      --------------              ------
' ToBoolean                   True                True                True
' ToByte                       103                  59                  67
' ToChar                         g                   ;                   C
' ToDateTime   2003-05-13 14:52:53 2003-05-13 14:52:09 2003-05-13 14:52:17
' ToDecimal       103.491666666667    59.4332135445164                67.3
' ToDouble        103.491666666667    59.4332135445164                67.3
' ToInt16                      103                  59                  67
' ToInt32                      103                  59                  67
' ToInt64                      103                  59                  67
' ToSByte                      103                  59                  67
' ToSingle                103.4917            59.43321                67.3
' ToUInt16                     103                  59                  67
' ToUInt32                     103                  59                  67
' ToUInt64                     103                  59                  67
' 
' DataSet: [359999.95, 425000, 499999.5, 775000, 1695000]
' 
' Convert.                 Default      Geometric Mean              Median
' --------                 -------      --------------              ------
' ToBoolean                   True                True                True
' ToByte                       255                 255                 255
' ToChar                         ?                   ?                   ?
' ToDateTime   2003-05-22 07:27:49 2003-05-20 22:17:27 2003-05-19 09:44:29
' ToDecimal              750999.89    631577.237188435            499999.5
' ToDouble               750999.89    631577.237188435            499999.5
' ToInt16                    32767               32767               32767
' ToInt32                   751000              631577              500000
' ToInt64                   751000              631577              500000
' ToSByte                      127                 127                 127
' ToSingle                750999.9            631577.3            499999.5
' ToUInt16                   65535               65535               65535
' ToUInt32                  751000              631577              500000
' ToUInt64                  751000              631577              500000
开发者ID:VB.NET开发者,项目名称:System,代码行数:478,代码来源:Convert.ToInt16

示例4: numbers

Dim numbers() As ULong = { UInt64.MinValue, 121, 340, UInt64.MaxValue }
Dim result As Short
For Each number As ULong In numbers
   Try
      result = Convert.ToInt16(number)
      Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Int16 type.", _
                        number.GetType().Name, number)
   End Try
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToInt16

输出:

Converted the UInt64 value 0 to a Int16 value 0.
Converted the UInt64 value 121 to a Int16 value 121.
Converted the UInt64 value 340 to a Int16 value 340.
The UInt64 value 18446744073709551615 is outside the range of the Int16 type.

示例5: numbers

Dim numbers() As UInteger = { UInt32.MinValue, 121, 340, UInt32.MaxValue }
Dim result As Short
For Each number As UInteger In numbers
   Try
      result = Convert.ToInt16(number)
      Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Int16 type.", _
                        number.GetType().Name, number)
   End Try
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToInt16

输出:

Converted the UInt32 value 0 to a Int16 value 0.
Converted the UInt32 value 121 to a Int16 value 121.
Converted the UInt32 value 340 to a Int16 value 340.
The UInt32 value 4294967295 is outside the range of the Int16 type.

示例6: numbers

Dim numbers() As UShort = { UInt16.MinValue, 121, 340, UInt16.MaxValue }
Dim result As Short
For Each number As UShort In numbers
   Try
      result = Convert.ToInt16(number)
      Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Int16 type.", _
                        number.GetType().Name, number)
   End Try
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToInt16

输出:

Converted the UInt16 value 0 to a Int16 value 0.
Converted the UInt16 value 121 to a Int16 value 121.
Converted the UInt16 value 340 to a Int16 value 340.
The UInt16 value 65535 is outside the range of the Int16 type.

示例7: values

Dim values() As Single = { Single.MinValue, -1.38e10, -1023.299, -12.98, _
                           0, 9.113e-16, 103.919, 17834.191, Single.MaxValue }
Dim result As Short

For Each value As Single In values
   Try
      result = Convert.ToInt16(value)
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
                        value.GetType().Name, value, result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("{0} is outside the range of the Int16 type.", value)
   End Try   
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToInt16

输出:

-3.40282346638529E+38 is outside the range of the Int16 type.
-13799999488 is outside the range of the Int16 type.
Converted the Double value -1023.29901123047 to the Int16 value -1023.
Converted the Double value -12.9799995422363 to the Int16 value -13.
Converted the Double value 0 to the Int16 value 0.
Converted the Double value 9.11299983940444E-16 to the Int16 value 0.
Converted the Double value 103.918998718262 to the Int16 value 104.
Converted the Double value 17834.19140625 to the Int16 value 17834.
3.40282346638529E+38 is outside the range of the Int16 type.

示例8: Example

Module Example
   Public Sub Main()
      Dim hexStrings() As String = { "8000", "0FFF", "f000", "00A30", "D", _
                                     "-13", "9AC61", "GAD" }
      For Each hexString As String In hexStrings
         Try
            Dim number As Short = Convert.ToInt16(hexString, 16)
            Console.WriteLine("Converted '{0}' to {1:N0}.", hexString, number)
         Catch e As FormatException
            Console.WriteLine("'{0}' is not in the correct format for a hexadecimal number.", _
                              hexString)
         Catch e As OverflowException
            Console.WriteLine("'{0}' is outside the range of an Int16.", hexString)
         Catch e As ArgumentException
            Console.WriteLine("'{0}' is invalid in base 16.", hexString)
         End Try
      Next                                            
   End Sub
End Module
开发者ID:VB.NET开发者,项目名称:System,代码行数:19,代码来源:Convert.ToInt16

输出:

Converted '8000' to -32,768.
Converted '0FFF' to 4,095.
Converted 'f000' to -4,096.
Converted '00A30' to 2,608.
Converted 'D' to 13.
-13' is invalid in base 16.
9AC61' is outside the range of an Int16.
GAD' is not in the correct format for a hexadecimal number.

示例9:

' Create a hexadecimal value out of range of the Int16 type.
Dim value As String = Convert.ToString(CInt(Short.MaxValue) + 1, 16)
' Convert it back to a number.
Try
   Dim number As Short = Convert.ToInt16(value, 16)
   Console.WriteLine("0x{0} converts to {1}.", value, number)
Catch e As OverflowException
   Console.WriteLine("Unable to convert '0x{0}' to a 16-bit integer.", value)
End Try
开发者ID:VB.NET开发者,项目名称:System,代码行数:9,代码来源:Convert.ToInt16

示例10: CInt

' Create a hexadecimal value out of range of the Short type.
Dim sourceNumber As Integer = CInt(Short.MaxValue) + 1
Dim isNegative As Boolean = (Math.Sign(sourceNumber) = -1)
Dim value As String = Convert.ToString(sourceNumber, 16)
Dim targetNumber As Short
Try
   targetNumber = Convert.ToInt16(value, 16)
   If Not isNegative And ((targetNumber And &H8000) <> 0) Then
      Throw New OverflowException()
   Else 
      Console.WriteLine("0x{0} converts to {1}.", value, targetNumber)
   End If    
Catch e As OverflowException
   Console.WriteLine("Unable to convert '0x{0}' to a 16-bit integer.", value)
End Try 
' Displays the following to the console:
'    Unable to convert '0x8000' to a 16-bit integer.
开发者ID:VB.NET开发者,项目名称:System,代码行数:17,代码来源:Convert.ToInt16

示例11: values

Dim values() As Object = { True, -12, 163, 935, "x"c, #5/12/2009#, _
                           "104", "103.0", "-1", _
                           "1.00e2", "One", 1.00e2}
Dim result As Short

For Each value As Object In values
   Try
      result = Convert.ToInt16(value)
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
                        value.GetType().Name, value, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Int16 type.", _
                        value.GetType().Name, value)
   Catch e As FormatException
      Console.WriteLine("The {0} value {1} is not in a recognizable format.", _
                        value.GetType().Name, value)
   Catch e As InvalidCastException
      Console.WriteLine("No conversion to an Int16 exists for the {0} value {1}.", _
                        value.GetType().Name, value)
                        
   End Try
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:23,代码来源:Convert.ToInt16

输出:

Converted the Boolean value True to the Int16 value 1.
Converted the Int32 value -12 to the Int16 value -12.
Converted the Int32 value 163 to the Int16 value 163.
Converted the Int32 value 935 to the Int16 value 935.
Converted the Char value x to the Int16 value 120.
No conversion to an Int16 exists for the DateTime value 5/12/2009 12:00:00 AM.
Converted the String value 104 to the Int16 value 104.
The String value 103.0 is not in a recognizable format.
Converted the String value -1 to the Int16 value -1.
The String value 1.00e2 is not in a recognizable format.
The String value One is not in a recognizable format.
Converted the Double value 100 to the Int16 value 100.

示例12: numbers

Dim numbers() As Integer = { Int32.MinValue, -1, 0, 121, 340, Int32.MaxValue }
Dim result As Short

For Each number As Integer In numbers
   Try
      result = Convert.ToInt16(number)
      Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Int16 type.", _
                        number.GetType().Name, number)
   End Try
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:14,代码来源:Convert.ToInt16

输出:

The Int32 value -2147483648 is outside the range of the Int16 type.
Converted the Int32 value -1 to a Int16 value -1.
Converted the Int32 value 0 to a Int16 value 0.
Converted the Int32 value 121 to a Int16 value 121.
Converted the Int32 value 340 to a Int16 value 340.
The Int32 value 2147483647 is outside the range of the Int16 type.

示例13: values

Dim values() As Double = { Double.MinValue, -1.38e10, -1023.299, -12.98, _
                           0, 9.113e-16, 103.919, 17834.191, Double.MaxValue }
Dim result As Short

For Each value As Double In values
   Try
      result = Convert.ToInt16(value)
      Console.WriteLine("Converted {0} to {1}.", value, result)
   Catch e As OverflowException
      Console.WriteLine("{0} is outside the range of the Int16 type.", value)
   End Try   
Next                                 
'       -1.79769313486232E+308 is outside the range of the Int16 type.
'       -13800000000 is outside the range of the Int16 type.
'       Converted -1023.299 to -1023.
'       Converted -12.98 to -13.
'       Converted 0 to 0.
'       Converted 9.113E-16 to 0.
'       Converted 103.919 to 104.
'       Converted 17834.191 to 17834.
'       1.79769313486232E+308 is outside the range of the Int16 type.
开发者ID:VB.NET开发者,项目名称:System,代码行数:21,代码来源:Convert.ToInt16

示例14: values

Dim values() As Decimal = { Decimal.MinValue, -1034.23d, -12d, 0d, 147d, _
                            9214.16d, Decimal.MaxValue }
Dim result As Short

For Each value As Decimal In values
   Try
      result = Convert.ToInt16(value)
      Console.WriteLine("Converted {0} to {1}.", value, result)
   Catch e As OverflowException
      Console.WriteLine("{0} is outside the range of the Int16 type.", _
                        value)
   End Try   
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToInt16

输出:

-79228162514264337593543950335 is outside the range of the Int16 type.
Converted -1034.23 to -1034.
Converted -12 to -12.
Converted 0 to 0.
Converted 147 to 147.
Converted 9214.16 to 9214.
79228162514264337593543950335 is outside the range of the Int16 type.

示例15: chars

Dim chars() As Char = { "a"c, "z"c, ChrW(7), ChrW(1023), _
                        ChrW(Short.MaxValue), ChrW(&hFFFE) }
Dim result As Short
                        
For Each ch As Char in chars
   Try
      result = Convert.ToInt16(ch)
      Console.WriteLine("'{0}' converts to {1}.", ch, result)
   Catch e As OverflowException
      Console.WriteLine("Unable to convert u+{0} to an Int16.", _
                        AscW(ch).ToString("X4"))
   End Try
Next
开发者ID:VB.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToInt16

输出:

a' converts to 97.
z' converts to 122.
converts to 7.
?' converts to 1023.
?' converts to 32767.
Unable to convert u+FFFE to a UInt16.


注:本文中的System.Convert.ToInt16方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。