VB.Net/Language Basics/Data Type Convert

Материал из VB Эксперт
Перейти к: навигация, поиск

Boolean value to Integer

<source lang="vbnet"> Imports System Imports System.Text Imports System.Text.RegularExpressions

Public Class MainClass

   Shared Sub Main(  )
       Dim blnTrue As Boolean = True
       Dim blnOne As Boolean = 1
       Dim blnNegOne As Boolean = -1
       Dim blnFalse As Boolean = False
   
       If blnOne = -1 Then
         Console.WriteLine(blnTrue)
         Console.WriteLine(blnOne.ToString)
         Console.WriteLine(Convert.ToString(Convert.ToInt32(blnNegOne)))
       End If
   End Sub "Main
  

End Class


 </source>


Convert Boolean value To Int16

<source lang="vbnet"> Imports System Imports System.Text Imports System.Text.RegularExpressions

Public Class MainClass

   Shared Sub Main(  )
       Dim blnTrue As Boolean = True
       Dim blnOne As Boolean = 1
       Dim blnNegOne As Boolean = -1
       Dim blnFalse As Boolean = False
   
       If Convert.ToInt16(blnNegOne) = 1 Then
         Console.WriteLine(blnFalse)
         Console.WriteLine(Convert.ToString(Convert.ToInt32(blnFalse)))
       End If
   End Sub "Main
  

End Class


 </source>


Convert ToInt32 Demo

<source lang="vbnet"> Imports System Public Class MainClass

   Shared Sub Main(ByVal args As String())
       Console.WriteLine( Convert.ToInt32("12") )
   End Sub

End Class


 </source>


Convert ToInt32 Exception

<source lang="vbnet"> Imports System Public Class MainClass

   Shared Sub Main(ByVal args As String())
     Try
        Dim numerator As Integer = Convert.ToInt32("00q")
        Dim denominator As Integer = Convert.ToInt32("0")
        Dim result As Integer = numerator \ denominator
        Console.WriteLine (result)
     Catch formattingException As FormatException
        Console.WriteLine("You must enter two integers")
     Catch dividingException As DivideByZeroException
        Console.WriteLine(dividingException.Message)
     End Try
   End Sub

End Class


 </source>


Explicit Conversions

<source lang="vbnet">

Public Class MainClass

  Public Shared Sub Main()
       "Explicit Conversions
       Dim shrShort As Short
       Dim shrUInt16 As UInt16
       Dim shrInt16 As Int16
       Dim intInteger As Integer
       Dim intUInt32 As UInt32
       Dim intInt32 As Int32
       Dim lngLong As Long
       Dim lngInt64 As Int64
       shrShort = 0
       shrUInt16 = Convert.ToUInt16(shrShort)
       shrInt16 = shrShort
       intInteger = shrShort
       intUInt32 = Convert.ToUInt32(shrShort)
       intInt32 = shrShort
       lngInt64 = shrShort
       lngLong = Long.MaxValue
       If lngLong < Short.MaxValue Then
           shrShort = Convert.ToInt16(lngLong)
       End If
       "intInteger = CInt(lngLong)
       Dim intMyShort As Integer = 200
      
       
       Console.WriteLine(shrShort)
       Console.WriteLine(shrUInt16)
       Console.WriteLine(shrInt16)
       Console.WriteLine(intInteger)
       Console.WriteLine(intUInt32)
       Console.WriteLine(intInt32)
       Console.WriteLine(lngLong)
       Console.WriteLine(lngInt64)
       
       Console.WriteLine(Convert.ToInt32(intMyShort))
       Console.WriteLine(Convert.ToDateTime("9/9/2001"))
       
  End Sub

End Class


 </source>


Implicit Conversions

<source lang="vbnet">

Public Class MainClass

  Public Shared Sub Main()
       "Implicit Conversions
       Dim shtShort As Short = 32767
       Dim lnhLong As Long = shtShort
       
       Console.WriteLine(shtShort)
       Console.WriteLine(lnhLong)
       
  End Sub

End Class


 </source>


Int Long conversion

<source lang="vbnet"> Imports System Imports System.Data Imports System.Collections public class MainClass

  Shared Sub Main()
       Dim I As Integer, L As Long
       I = 50
       L = I
       Console.WriteLine(L)
       L = 50
       I = CInt(L) " Explicit cast needed here
       Console.WriteLine(I)
       L = &H100000000
       Try
           I = CType(L, Integer)
       Catch E As Exception
           Console.WriteLine(E.Message)
       End Try
       Console.WriteLine(I)
  End Sub

End Class


 </source>


Using Val to convert string to integer

<source lang="vbnet"> Module Module1

   Sub Main()
       Dim value As Integer
       value = Val("1") + Val("2")
   End Sub

End Module


 </source>


Value convert: 32 to 16 and 16 to 32 (throw Exception)

<source lang="vbnet"> Imports System Imports System.Text Imports System.Text.RegularExpressions

Public Class MainClass

   Shared Sub Main(  )
       Dim shrShort As Short
       Dim shrUInt16 As UInt16
       Dim shrInt16 As Int16
       Dim intInteger As Integer
       Dim intUInt32 As UInt32
       Dim intInt32 As Int32
       Dim lngLong As Long
       Dim lngInt64 As Int64
   
       shrShort = 0
       shrUInt16 = Convert.ToUInt16(shrShort)
       shrInt16 = shrShort
       intInteger = shrShort
       intUInt32 = Convert.ToUInt32(shrShort)
       intInt32 = shrShort
       lngInt64 = shrShort
   
       lngLong = lngLong.MaxValue
       If lngLong > Short.MaxValue Then
         shrShort = Convert.ToInt16(lngLong)
       End If
       intInteger = CInt(lngLong)
   
   End Sub "Main
  

End Class


 </source>