BitConverter |
Name | Description |
---|---|
CurrencyToInt64Bits | Converts the specified currency number to 64-bit signed integer. |
DoubleToInt64Bits | Converts the specified double-precision floating point number to 64-bit signed integer. |
GetBytes | Returns a byte array representation of the datatype value. |
Int32BitsToSingle | Converts the specified 32-bit signed integer to a single-precision floating point number. |
Int64BitsToCurrency | Converts the specified 64-bit signed integer to a currency number. |
Int64BitsToDouble | Converts the specified 64-bit signed integer to a double-precision floating point number. |
SingleToInt32Bits | Converts the specified single-precision floating point number to 32-bit signed integer. |
ToBoolean | Converts an array of bytes to a Boolean value. |
ToCurrency | Converts an array of bytes to a Currency value. |
ToDate | Converts an array of bytes to a Date value. |
ToDecimal | Converts an array of bytes do a Variant Decimal value. |
ToDouble | Converts an array of bytes to a Double value. |
ToInt16 | Converts an array of bytes to an Integer value. |
ToInt32 | Converts an array of bytes to a Long value. |
ToInt64 | Returns a 64-bit signed integer converted from eight bytes at a specified position in a byte array. |
ToSingle | Converts an array of bytes to a Single value. |
ToString | Converts an array of bytes to a string of hexidecimal notations. |
The BitConverter class helps manipulate value types in their fundamental form, as a series of bytes. A byte is defined as an 8-bit unsigned integer. The BitConverter class includes static methods to convert each of the primitive types to and from an array of bytes, as the following table illustrates.
Type | To byte conversion | From byte conversion |
---|---|---|
Boolean | GetBytes(Boolean) | ToBoolean |
Double | GetBytes(Double) -or- DoubleToInt64Bits(Double) |
ToDouble -or- Int64BitsToDouble |
Int16 | GetBytes(Int16) | ToInt16 |
Int32 | GetBytes(Int32) | ToInt32 |
Int64 | GetBytes(Int64) | ToInt64 |
Single | GetBytes(Single) | ToSingle |
Date | GetBytes(Date) | ToDate |
Decimal | GetBytes(Decimal) | ToDecimal |
The following code example illustrates the use of several BitConverter class methods.
Public Sub Main() Const Formatter As String = "{0,25}{1,30}" Const ADouble As Double = 0.111111111111111 Const ASingle As Single = 0.1111111! Const ALong As Long = 1111111111 Const AnInt As Integer = 11111 Const ABool As Boolean = True Dim AnInt64 As Int64 AnInt64 = CInt64("1111111111111111111") Debug.Print t("This example of methods of the BitConverter class\ngenerates the following output.\n") Debug.Print CorString.Format(Formatter, "Argument", "Byte array") Debug.Print CorString.Format(Formatter, "--------", "----------") PrintValue ADouble PrintValue ASingle PrintValue AnInt64 PrintValue ALong PrintValue AnInt PrintValue ABool End Sub Private Sub PrintValue(ByRef Value As Variant) Const Formatter As String = "{0,25}{1,30}" Dim Bytes() As Byte Dim Contents As String Bytes = BitConverter.GetBytes(Value) Contents = BitConverter.ToString(Bytes) Debug.Print CorString.Format(Formatter, Value, Contents) End Sub ' This code produces the following output. ' ' This example of methods of the BitConverter class ' generates the following output. ' ' Argument Byte array ' -------- ---------- ' 0.111111111111111 14-C7-71-1C-C7-71-BC-3F ' 0.1111111 37-8E-E3-3D ' 1111111111111111111 C7-71-C4-2B-AB-75-6B-0F ' 1111111111 C7-35-3A-42 ' 11111 67-2B ' True 01