VB里面任意进制转化为十进制语句

来源:百度知道 编辑:UC知道 时间:2024/05/09 14:08:03
Private Sub Option2_Click()
t(1) = t(0)
Dim num As Integer, i As Integer
num = 12345
Do
i = num Mod 10
num = Int(num / 10)
Loop Until num = 0
For i = 0 To 20
If c(i) < 9 And c(i) > 0 Then
t(1) = c(i) * k ^ i
Else
Exit For
End If
Next
End Sub

帮我修改下,
要任意进制转化为十进制

已经全部弄好了 ,发给你了。

来自:求助得到的回答

'要任意进制转化为十进制
'你这个我看得有点乱.重写如下:
'参数:arg是要转换的数,arg1是传入的数所属的进制
'返回:对应的十进制
'例如change("1011",2)是将二进制数1011转成十进制数.
'局限,这个函数不能将11进制以上的进制数转成10进制.
function change(arg as string, arg1 as integer)
dim result as long
result=0
for i=length(arg) to 1 step -1
'如果要进行11进制以上的进制转换要先在这将mid(arg,i,1)这个数转换成数字,比如将16进制的A转换成10.其他类推
result=result + clng(mid(arg,i,1))*arg1^(length(arg)-i)
next
change=result
end function