⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 handlelargenumbers.bas

📁 几个不错的VB例子
💻 BAS
字号:
Attribute VB_Name = "HandleLargeNumbers"

Public Function MultiplyLargeNumbers(ByVal Number As String, ByVal Multiple As String) As String
Dim I As Double
Dim B As Double
Dim P As Double
Dim AddOn As Byte
Dim Num1 As Byte
Dim Num2 As Byte
Dim Product As Byte
Dim FinalResult As Byte
Dim NumberHolder As String
Dim ProductHolder As String
If Number = "0" Or Multiple = "0" Then
MultiplyLargeNumbers = "0"
Exit Function
End If
If Len(Number) < 1 Then
MultiplyLargeNumbers = "Invalid Length (Number)"
Exit Function
End If
If Len(Multiple) < 1 Then
MultiplyLargeNumbers = "Invalid Length (Multiple)"
Exit Function
End If
NumberHolder = ""
ProductHolder = "0"
For B = Len(Multiple) To 1 Step -1
Num1 = Val(Mid(Multiple, B, 1))
AddOn = 0
For I = Len(Number) To 1 Step -1
Num2 = Val(Mid(Number, I, 1))
AddOn = Num1 * Num2 + AddOn
Product = AddOn Mod 10
AddOn = (AddOn - Product) / 10
FinalResult = Product
NumberHolder = Format(FinalResult, "0") & NumberHolder
Next I
If AddOn > 0 Then
NumberHolder = Format(AddOn, "0") & NumberHolder
End If
If B < Len(Multiple) Then
For P = Len(Multiple) To B + 1 Step -1
NumberHolder = NumberHolder & "0"
Next P
End If
ProductHolder = AddLargeNumbers(NumberHolder, ProductHolder)
NumberHolder = ""
Next B
MultiplyLargeNumbers = ProductHolder
End Function

Public Function AddLargeNumbers(ByVal Number As String, ByVal NumberAdd As String) As String
Dim I As Double
Dim AddOn As Byte
Dim Num1 As Byte
Dim Num2 As Byte
Dim Product As Byte
Dim FinalResult As Byte
Dim NumberHolder As String
Dim ForAmount As Double
If Len(Number) < 1 Then
AddLargeNumbers = "Invalid Length (Number)"
Exit Function
End If
If Len(NumberAdd) < 1 Then
AddLargeNumbers = "Invalid Length (NumberAdd)"
Exit Function
End If
If Len(NumberAdd) > Len(Number) Then
Do
Number = "0" & Number
Loop Until Len(Number) = Len(NumberAdd)
ForAmount = Len(NumberAdd)
ElseIf Len(NumberAdd) < Len(Number) Then
Do
NumberAdd = "0" & NumberAdd
Loop Until Len(NumberAdd) = Len(Number)
ForAmount = Len(NumberAdd)
Else
ForAmount = Len(NumberAdd)
End If
AddOn = 0
For I = ForAmount To 1 Step -1
Num1 = Val(Mid(Number, I, 1))
Num2 = Val(Mid(NumberAdd, I, 1))
AddOn = Num1 + Num2 + AddOn
Product = AddOn Mod 10
AddOn = (AddOn - Product) / 10
FinalResult = Product
NumberHolder = Format(FinalResult, "0") & NumberHolder
Next I
If AddOn > 0 Then
NumberHolder = Format(AddOn, "0") & NumberHolder
End If
AddLargeNumbers = NumberHolder
End Function

Public Function PowerLargeNumbers(ByVal Number As String, ByVal Power As String)
Dim Str As String
Str = Number
If Power = "0" Then
Str = "1"
GoTo SKIPFORLOOP
End If
If Power = "1" Then
GoTo SKIPFORLOOP
End If
For I = 2 To Power
Str = MultiplyLargeNumbers(Str, Number)
Next I
SKIPFORLOOP:
PowerLargeNumbers = Str
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -