Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB7
Expertise: Beginner
Sep 7, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Any2Dec - Convert from any numeric base to decimal

' convert from any base to decimal
' BASE can be in the range 2-36

Function 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
End Function
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date