Hex
Returns the hexadecimal of the given number
Declare Function Hex ( ByVal number As UByte ) As String
Declare Function Hex ( ByVal number As UShort ) As String
Declare Function Hex ( ByVal number As Ulong ) As String
Declare Function Hex ( ByVal number As ULongInt ) As String
Declare Function Hex ( ByVal number As Const Any Ptr ) As String
Declare Function Hex ( ByVal number As UByte, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As UShort, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As Ulong, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As ULongInt, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As Const Any Ptr, ByVal digits As Long ) As String
result = Hex[$]( number [, digits ] )
number
Returns the unsigned hexadecimal string representation of the integer number. Hexadecimal digits range from 0-9, or A-F.
If you specify digits > 0, the result string will be exactly that length. It will be truncated or padded with zeros on the left, if necessary.
The length of the string will not go longer than the maximum number of digits required for the type of number (8 for a Long, 16 for a LongInt).
If you want to do the opposite, i.e. convert a hexadecimal string back into a number, the easiest way to do it is to prepend the string with "&H;", and convert it to an integer type, using a function like CInt, similarly to a normal numeric string. E.g. CInt("&HFF;")
will produce the output:
Syntax
Declare Function Hex ( ByVal number As UByte ) As String
Declare Function Hex ( ByVal number As UShort ) As String
Declare Function Hex ( ByVal number As Ulong ) As String
Declare Function Hex ( ByVal number As ULongInt ) As String
Declare Function Hex ( ByVal number As Const Any Ptr ) As String
Declare Function Hex ( ByVal number As UByte, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As UShort, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As Ulong, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As ULongInt, ByVal digits As Long ) As String
Declare Function Hex ( ByVal number As Const Any Ptr, ByVal digits As Long ) As String
Usage
result = Hex[$]( number [, digits ] )
Parameters
number
A number or expression evaluating to a number. A floating-point number will be converted to a LongInt.
digitsOptional number of digits to return.
Return Value
Description
Returns the unsigned hexadecimal string representation of the integer number. Hexadecimal digits range from 0-9, or A-F.
If you specify digits > 0, the result string will be exactly that length. It will be truncated or padded with zeros on the left, if necessary.
The length of the string will not go longer than the maximum number of digits required for the type of number (8 for a Long, 16 for a LongInt).
If you want to do the opposite, i.e. convert a hexadecimal string back into a number, the easiest way to do it is to prepend the string with "&H;", and convert it to an integer type, using a function like CInt, similarly to a normal numeric string. E.g. CInt("&HFF;")
Example
'54321 is D431 in hex
Print Hex(54321)
Print Hex(54321, 2)
Print Hex(54321, 5)
Print Hex(54321)
Print Hex(54321, 2)
Print Hex(54321, 5)
will produce the output:
D431 31 0D431
Dialect Differences
- The string type suffix "$" is obligatory in the -lang qb dialect.
- The string type suffix "$" is optional in the -lang fblite and -lang fb dialects.
Differences from QB
- In QBASIC, there was no way to specify the number of digits returned.
- The size of the string returned was limited to 32 bits, or 8 hexadecimal digits.
See also