Browse DevX
Sign up for e-mail newsletters from DevX

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



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

Dec2Any - Convert a decimal number to any other base

' convert a positive number to any base
' BASE can be in the range 2-36

Function Dec2Any(ByVal number As Long, ByVal base As Short) As String
    Dim index As Integer
    Dim digitValue As Integer
    Dim res As New System.Text.StringBuilder()

    Const digits As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    ' check base and value
    If number < 0 Then
        Throw New ArgumentException _
            ("The value to be converted must be positive")
    ElseIf base < 2 Or base > 36 Then
        Throw New ArgumentException("Base must be in range 2-36")
    End If

    ' convert to the other base
    Do While number
        digitValue = number Mod base
        number = number \ base
        ' append this digit in front of current result
        res.Insert(0, digits.Chars(digitValue))

    Return res.ToString
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