问题已解决,2193671521已超出long类型范围(2147483648),但没超出Double类型的范围。
可以自己写个转换函数:
Private Function fHexDbl(ByVal strHex As String) As Double
Dim dblRet As Double
dblRet = 0
Dim iNum As Integer, iloop As Integer
iNum = Len(strHex)
For iloop = 1 To iNum
dblRet = dblRet + Val("&H" + Mid(strHex, iloop, 1)) * (16 ^ (iNum - iloop))
Next
fHexDbl = dblRet
End Function