The Convert class offers a few static methods that let you easily and quickly convert a binary, octal, or hexadecimal number(stored in a String) into the equivalent Byte, Short, Integer, or Long value. These are the methods in question:
Dim b As Byte = Convert.ToByte(value, fromBase)
Dim s As Short = Convert.ToInt16(value, fromBase)
Dim i As Integer = Convert.ToInt32(value, fromBase)
Dim l As Long = Convert.ToInt64(value, fromBase)
In all cases, value
is a string that holds a number in the base indicated by the fromBase
argument, which can only be 2, 8, 10, or 16. There are also methods for converting to signed bytes or unsigned 16-, 32-, and 64-bit integers, but you rarely need them becase VB.NET doesn't support these data types.
Here's an example that uses the ToInt32 method to convert an hexadecimal value:
These methods throw a FormatException if the first argument contains one or more chracters that aren't compatible with the base specified in the second argument.
Console.WriteLine ( Convert.ToInt32("ABCD", 16)) ' => 43981