Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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

 

 

 

 

 


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

 

 

Sitemap