Any2Dec – Convert from any numeric base to decimal

' convert from any base to decimal' BASE can be in the range 2-36Function Any2Dec(ByVal otherBaseNumber As String, ByVal base As Integer) As Long    Dim digits As String    Dim digitValue As Long    ' check base    If base < 2 Or base > 36 Then        Throw New ArgumentException("Base must be in range 2-36")    End If    ' get the list of valid digits    digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".Substring(0, base)    ' convert to decimal    Dim ch As Char    For Each ch In otherBaseNumber.ToUpper()        ' get the digit's value        digitValue = digits.IndexOf(ch)        ' error if invalid digit        If digitValue < 0 Then            Throw New ArgumentException("Invalid character")        End If        ' add to running result        Any2Dec = Any2Dec * base + digitValue    NextEnd Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: