VB 10进制转16进制问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 15:50:19
知道一般的情况可用Hex来求~~
但大的数(比如:888888888888)就提示溢出了~~~

如果现在要写一个小程序,可转换一些比较大的10进制数字到16进制。。该怎么写呢 ??

以两个文本框和一个按钮为例!

终于写出来了,任意长度的十进制数转换为十六进制数,完全按要求:两个文本框和一个按钮,其中Text1输入十进制数,单击按钮,在Text2中显示相应的十六进制数。
Private Sub Command1_Click()
Dim R As String, S As String
R = Text1.Text
S = Ten16(R)
Text2.Text = S
End Sub

Private Function Ten16(ByVal X As String) As String '十进制数转为十六进制数,以字符串输入输出
Dim A() As String, M As Integer, N As Integer, R As String, i As Integer, L As Integer
Do While X <> ""
L = Len(X)
ReDim A((L - 1) \ 3)
R = X: i = 0
Do While Len(R) > 3
A(i) = Left(R, 3): R = Right(R, Len(R) - 3)
i = i + 1
Loop
A(i) = R
R = ""
For i = 0 To UBound(A)
M = Val(A(i)) \ 16: N = Val(A(i)) Mod 16
If Len(Trim(Str(M))) = 2 And i < UBound(A) Then
R = R + "0" + Trim(Str(M))
Else
R = R + Trim(Str(M))
End If
If N = 0 Then R