# Converting a Hex String to Decimal Question:
I have a database of strings of hex numbers and I want to convert them to decimal. There doesn’t seem to be a function for it, but can you go the other way with the HEX function?

`e.g. "A" converts to 10.e.g. "AB" needs to convert to 171.`

Here’s a little snippet of code that will do the trick:

`Sub Main()   Const Original = "AB12C"   Dim lngValue As Long   Dim strChar As String   Dim intCharValue As Integer   Dim i As Integer   For i = 0 To Len(Original) - 1      strChar = Mid(Original, Len(Original) - i, 1)      Select Case strChar      Case 0 To 9         intCharValue = Int(strChar)      Case "A", "B", "C", "D", "E", "F"         intCharValue = Asc(strChar) - 55      End Select      lngValue = lngValue + (intCharValue * (16 ^ i))   Next i   End Sub`

When you’re finished, lngValue will have the decimal value of the constant specified.

On Feb. 18th, 2000, DevX reader Kevin Palmer suggested this alternative to the above code:

`Sub Main()Const Original = "AB12C"Dim lngValue As Long lngValue = Val( "&H" & Original) End Sub `

On Feb. 22nd, 2000, DevX reader Eric Hood responded:

Basic has a conversion method available:

`	d = val("&H" + h\$)`

where h\$ = the hexidecimal valueand d = decimal value.
Example:

`?val("&H3F") 63 `

On Feb. 23rd, 2000, DevX reader Bryan Hapeman responded:

I was able to convert a hex string to decimal with the following code:

`Dim Hex_String as StringDim Number as Double Number = val("&h" & Hex_String)`

Doesn’t that work?

Share the Post:

Recent Articles: