十六进制转换十进制程序解决方案

十六进制转换十进制程序如何十六进制转换十进制程序??Fora1ToLen(clips)strstr+Val(Mid(clips,a,1))*16^

十六进制转换十进制程序
如何十六进制转换十进制程序??

                For   a   =   1   To   Len(clips)
                str   =   str   +   Val(Mid(clips,   a,   1))   *   16   ^   (Len(clips)   -   a)
                Next   a

上面这样行不行???


[解决办法]
你的str是什么类型的?如果是字符串的话
这句str = str + Val(Mid(clips, a, 1)) * 16 ^ (Len(clips) - a)
改成str = val(str) + Val(Mid(clips, a, 1)) * 16 ^ (Len(clips) - a)
[解决办法]
十六进制的数有0 -9,和A-F.
[解决办法]
For a = 1 To Len(clips)
select mid(clip,a,1)
case "A " or "a "
str = val(str) + 10 * 16 ^ (Len(clips) - a)
case "B " or "b "
str = val(str) + 11 * 16 ^ (Len(clips) - a)
case "C " or "c "
str = val(str) + 12 * 16 ^ (Len(clips) - a)
case "D " or "d "
str = val(str) + 13 * 16 ^ (Len(clips) - a)
case "E " or "e "
str = val(str) + 14 * 16 ^ (Len(clips) - a)
case "F " or "f "
str = val(str) + 15 * 16 ^ (Len(clips) - a)
case else
str = str + Val(Mid(clips, a, 1)) * 16 ^ (Len(clips) - a)
end select
Next a
[解决办法]
使用VAL函数,直接出数据结果.