浆糊论坛-RO小站's Archiver

shaka&shion 发表于 2006-12-6 16:16

[求助]懂VB的进。。。(急!!!!)

有一道题目希望高手解答。。。。对高手来说应该不难,但我没学过,老师要我做。。。。
题目为:做10进制与16进制的互相转换(包括整数与小数)
题目就是这样,希望会做的达人能帮帮我,能做好并把代码贴出来,谢谢!!
真的万分感谢!!!!!

漫天的迷雾 发表于 2006-12-6 17:36

十六转十
Public Function HEX_to_DEC(ByVal Hex As String) As Long
    Dim i As Long
    Dim B As Long
   
    Hex = UCase(Hex)
    For i = 1 To Len(Hex)
        Select Case Mid(Hex, Len(Hex) - i + 1, 1)
            Case "0": B = B + 16 ^ (i - 1) * 0
            Case "1": B = B + 16 ^ (i - 1) * 1
            Case "2": B = B + 16 ^ (i - 1) * 2
            Case "3": B = B + 16 ^ (i - 1) * 3
            Case "4": B = B + 16 ^ (i - 1) * 4
            Case "5": B = B + 16 ^ (i - 1) * 5
            Case "6": B = B + 16 ^ (i - 1) * 6
            Case "7": B = B + 16 ^ (i - 1) * 7
            Case "8": B = B + 16 ^ (i - 1) * 8
            Case "9": B = B + 16 ^ (i - 1) * 9
            Case "A": B = B + 16 ^ (i - 1) * 10
            Case "B": B = B + 16 ^ (i - 1) * 11
            Case "C": B = B + 16 ^ (i - 1) * 12
            Case "D": B = B + 16 ^ (i - 1) * 13
            Case "E": B = B + 16 ^ (i - 1) * 14
            Case "F": B = B + 16 ^ (i - 1) * 15
        End Select
    Next i
    HEX_to_DEC = B
End Function


十转十六
Public Function DEC_to_HEX(Dec As Long) As String
    Dim a As String
    DEC_to_HEX = ""
    Do While Dec > 0
        a = CStr(Dec Mod 16)
        Select Case a
            Case "10": a = "A"
            Case "11": a = "B"
            Case "12": a = "C"
            Case "13": a = "D"
            Case "14": a = "E"
            Case "15": a = "F"
        End Select
        DEC_to_HEX = a & DEC_to_HEX
        Dec = Dec \ 16
    Loop
End Function

黑龍 发表于 2006-12-6 17:49

牛人。。。

豆腐 发表于 2006-12-6 18:05

VB不是自带这两个方法么。。。

小魔豆 发表于 2006-12-6 19:00

跟JAVA和C语言的计算方法一样...
OD...

shaka&shion 发表于 2006-12-7 14:55

[quote]原帖由 [i]漫天的迷雾[/i] 于 2006-12-6 17:36 发表
十六转十
Public Function HEX_to_DEC(ByVal Hex As String) As Long
    Dim i As Long
    Dim B As Long
   
    Hex = UCase(Hex)
    For i = 1 To Len(Hex)
        Select Case Mid(Hex, Len(He ... [/quote]
因为老师还没说过HEX函数,所以他说不能用这个。。。要初级一点的办法。。。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.