基数変換(n進数を10進数に変換)
10進数をn進数に変換するコードを紹介したので、今回は逆です。
以前、10進数をn進数に変換するコードはコチラです。
hex309.hatenablog.com
hex309.hatenablog.com
というわけで、コチラ。
'n進数を10進数に変換 Private Sub ConvertIntoDecimalTest() 'ConvertIntoDecimalプロシージャに指定する引数は「変換する値」「変換する値の基数」 Debug.Print ConvertIntoDecimal("309", 16) End Sub Private Function ConvertIntoDecimal(ByVal ConvertValue As String, ByVal Radix As Long) As Long Dim NumOfDigits As Long Dim temp As String Dim Answer As Long Dim i As Long temp = StrReverse(ConvertValue) NumOfDigits = Len(ConvertValue) For i = 1 To NumOfDigits Answer = Answer + GetDecimalNumber(Mid$(temp, i, 1)) * Radix ^ (i - 1) Next ConvertIntoDecimal = Answer End Function Private Function GetDecimalNumber(ByVal Digit As String) As Long Dim temp As Variant temp = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F") GetDecimalNumber = Application.Match(Digit, temp, 0) - 1 End Function