Function shang(ByVal x As String, ByVal y As Integer) As String
Dim a(), num As Long, temp As Long
x = String(5 - Len(x) Mod 5, "0") & x
num = Len(x) \ 5
ReDim a(num - 1)
For i = 0 To num - 1
a(i) = Val(Mid(x, i * 5 + 1, 5))
Next
temp = a(0) Mod y
a(0) = a(0) \ y
For i = 1 To num - 1
temp = temp * 10 ^ 5 + a(i)
a(i) = Format(temp \ y, "00000")
temp = temp Mod y
Next
shang = Join(a, "")
Erase a
Do While Left(shang, 1) = "0"
Mid(shang, 1, 1) = " "
shang = LTrim(shang)
Loop
End Function
Private Sub Command1_Click()
MsgBox shang(String(1000, "9"), 3333)
End Sub
谢谢各位我自己摆平了
Private Sub Chu(shu As String, Optional shang As String, Optional yu As String) '取一个数除2的商和余
shang = ""
yu = ""
Dim a As Long, t As String, e As String
For a = 1 To Len(shu)
t = Mid(shu, a, 1)
e = e & t
shang = shang & e \ 2
If shang = "0" Then: shang = ""
If a = Len(shu) Then: yu = e Mod 2: Exit Sub:
e = e Mod 2
Next a
End Sub
'整除2
Function Div2(Num As String) As String
Dim i As Long: Num = "0" & Num
For i = 2 To Len(Num)
Div2 = Div2 & CStr(Val(Mid$(Num, i, 1)) \ 2 + IIf(Val(Mid$(Num, i - 1, 1)) Mod 2, 5, 0))
Next i
If Left$(Div2, 1) = "0" Then Div2 = Right$(Div2, Len(Div2) - 1)
End Function
Private Sub Form_Load()
Debug.Print Div2("9999999999999999")
End Sub