How to convet decimal number base-12 number in VB.NET

1 Answer

0 votes
Imports System
Imports System.Text

Public Class DecimalToBase12
    ' Converts a decimal number to base-12 and returns it as a string
    Public Shared Function DecimalToBase12(decimalNumber As Integer) As String
        If decimalNumber = 0 Then Return "0"

        Dim base12 As New StringBuilder()
        Dim digits As Char() = "0123456789AB".ToCharArray() ' Base-12 digits (A = 10, B = 11)

        While decimalNumber > 0
            Dim remainder As Integer = decimalNumber Mod 12
            base12.Append(digits(remainder))
            decimalNumber \= 12
        End While

        ' Reverse to get the correct order
        Dim reversed As Char() = base12.ToString().ToCharArray()
        Array.Reverse(reversed)

        Return New String(reversed)
    End Function

    Public Shared Sub Main()
        Dim decimalNumber As Integer = 100
        Dim base12Number As String = DecimalToBase12(decimalNumber)

        Console.WriteLine("Base-12 representation: " & base12Number)

        decimalNumber = 19621
        base12Number = DecimalToBase12(decimalNumber)

        Console.WriteLine("Base-12 representation: " & base12Number)
    End Sub

End Class


' run:
'
' Base-12 representation: 84
' Base-12 representation: B431
'

 



answered Sep 11, 2025 by avibootz

Related questions

1 answer 77 views
1 answer 76 views
1 answer 71 views
1 answer 68 views
1 answer 88 views
...