数値をn進数に変換する
36進数に変換する場合は第2引数に36を指定する。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox2.Text = RadixConvert(CULng(TextBox1.Text), 36)
End Sub
''' <summary>
''' n進数の数値文字列に変換
''' </summary>
''' <param name="l">数値</param>
''' <param name="radix">基数</param>
''' <returns>数値文字列</returns>
''' <remarks>マイナス値は考慮しない</remarks>
Private Function RadixConvert(ByVal l As ULong, radix As Int32) As String
Dim remainder As Int32 = 0
Dim work As Decimal = 0
Dim result As New StringBuilder
work = CDec(l)
While work > 0
remainder = CInt(work Mod radix)
result.Insert(0, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".Substring(remainder, 1))
work = Math.Floor(work / radix)
End While
Return result.ToString
End Function
End Class