我有一个小数,是以双字16进制形式出现的,例如 XXXX XXXX ,怎么将这个形式的数据转换成10进制的小数?
还有10进制的小数,怎么转换成双字形式的16进制数?
还有10进制的小数,怎么转换成双字形式的16进制数?
解决方案 »
- 实时错误'-21470248828007000e)':
- vb 如何选中网页的复选框 (checkbox选定)
- VB查询到结果调用一个目录下的用编号命名的对应图片
- 现在在学习datareport报表,那位有这方面的源码?谢谢!!
- 一个程序调用另一个程序,怎样使第二个程序在被调用后获得焦点
- 如何取得一个路径下的所有文件夹名字
- 我想做一个简繁转换的程序,有谁能给我一个简繁码对照表
- 代码为什么在调试时可以,生成单个exe文件后,却没有了作用了呢?(附代码)
- 用VB怎样做出像东方快车、南极星一样悬挂于屏幕上方的工具条. 重酬
- 在VB里处理UNICODE
- 简单问题:通过字符串来获得对象的函数是什么?
- 根据固定的表自动生成SQL语句的函数
LoWord As Integer
HiWord As Integer
End TypePrivate Type Float
Value As Single
End TypeSub Main()
Dim s As String
s = HexFloat(0.1)
Debug.Print s
Debug.Print Hex2Float(s)
End SubFunction HexFloat(ByVal Value As Single) As String
Dim tDW As DWord
Dim tF As Float
tF.Value = Value
LSet tDW = tF
HexFloat = Right$("000" & Hex(tDW.LoWord), 4) & " " & _
Right$("000" & Hex(tDW.HiWord), 4)
End FunctionFunction Hex2Float(ByVal HexStr As String) As Single
Dim tDW As DWord
Dim tF As Float
tDW.LoWord = CInt("&H" & Left$(HexStr, 4))
tDW.HiWord = CInt("&H" & Right$(HexStr, 4))
LSet tF = tDW
Hex2Float = tF.Value
End Function
Dim Length As Integer
Dim X As String
Dim i As Long
str = Trim(str)
Length = Len(str)
For i = 0 To Length - 1
X = Mid(str, Length - i, 1)
Select Case X
Case "a", "A"
HexToBcd = HexToBcd + 10 * (16 ^ i)
Case "b", "B"
HexToBcd = HexToBcd + 11 * (16 ^ i)
Case "c", "C"
HexToBcd = HexToBcd + 12 * (16 ^ i)
Case "d", "D"
HexToBcd = HexToBcd + 13 * (16 ^ i)
Case "e", "E"
HexToBcd = HexToBcd + 14 * (16 ^ i)
Case "f", "F"
HexToBcd = HexToBcd + 15 * (16 ^ i)
Case "0" To "9"
HexToBcd = HexToBcd + Val(X) * 16 ^ i
Case Else
'MsgBox "非十六进制数", vbCritical, "信息提示"
HexToBcd = 0
End Select
Next i
End Function10转换16
CInt("&H" & str)