VB如何实现进制转换!高手指点!

来源:百度知道 编辑:UC知道 时间:2024/07/07 22:37:25
如题
用一个text1.text为输入进制数
用一个text2.text为输出进制数
用一个text3.text为选择转换进制
用一个command1为开始转换
是任意进制
就像http://www.pqshow.com/tool/jinzhizhuanhuan.html一样
因本人快要降级
所以不加悬赏
请大家务必注明QQ
要现成的代码
窗体我自己制
带我有分了再给你们
O(∩_∩)O谢谢!

从F进制转换为T进制,就是 F -> 10 -> T

Dim st1 As String: Dim st2 As String
Dim temp As Integer, F As Integer, T As Integer
Dim chars(): chars = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F")

F = 16 '来自16进制
T = 10 '转换为10进制

st1 = "1c3" '设置值
st1 = UCase(st1) '转为大写

For i = Len(st1) To 1 Step -1
If Mid(st1, i, 1) >= "0" And Mid(st1, i, 1) <= "9" Then
temp = temp + (Asc(Mid(st1, i, 1)) - 48) * F ^ (Len(st1) - i)
Else
temp = temp + (Asc(Mid(st1, i, 1)) - 65 + 10) * F ^ (Len(st1) - i)
End If
Next i
'从F转换成10

While temp > 0
q = temp Mod T
st2 = chars(q) & st2
temp = temp \ T