(2-16)进制字符串转换为十进制正整数。
思路:R进制数每位数字乘以权值之和即为十进制数。
算法实现:
以下是引用片段:
Private Function Tran(ByVal s As String, ByVal r As Integer) As integer
Dim n As Integer, dec As Integer
s = UCase(Trim(s))
For i% = 1 To Len(s)
If Mid(s, i, 1) >= "A" Then
n = Asc(Mid(s, i, 1)) - Asc("A") + 10
Else
n = Val(Mid(s, i, 1))
End If
dec = dec + n * r ^ (Len(s) - i)
Next i
Tran = dec
End Function