Store tal der skal lææges sammen
Er der nogen der kan lave, ved hvor jeg kan hente noget kode der kan lægge meget store tal sammen uden at det bliver til 5e+632.Eller også bare rette nedenstående så det virker.
Ingen point hvis det ikke virker.
på forhånd tak!
------------------------------
Option Explicit
Public Function CalcAdd(Number1 As String, Number2 As String) As String
Dim i As Integer
Dim BlockSize As Integer
Dim BlockCount As Integer
BlockCount = 100
Dim NumberArray(3, 100) As Long
\' +----------------- - - - - -
\' 0| Add
\' +----------------- - - - - -
\' 1| Number1
\' +----------------- - - - - -
\' 2| Number2
\' +----------------- - - - - -
\' 3| Result
\' +----------------- - - - - -
BlockSize = 1
\'Put number1 into place
For i = 0 To BlockCount
NumberArray(1, i) = Right(Number1, BlockSize)
Number1 = Mid(Number1, BlockSize + 1, Len(Number1) - BlockSize)
If Len(Number1) = 0 Then Exit For
Next
\'Put number2 into place
For i = 0 To BlockCount
NumberArray(2, i) = Right(Number2, BlockSize)
Number2 = Mid(Number2, BlockSize + 1, Len(Number2) - BlockSize)
If Len(Number2) = 0 Then Exit For
Next
\'Adds number1 and number2 together into result
Dim TempNumber As String
For i = 0 To BlockCount
TempNumber = NumberArray(0, i) + NumberArray(1, i) + NumberArray(2, i)
If Len(TempNumber) > BlockSize Then
NumberArray(3, i) = Right(TempNumber, BlockSize)
NumberArray(0, i + 1) = Left(TempNumber, Len(TempNumber) - BlockSize)
\'MsgBox Left(TempNumber, Len(TempNumber) - BlockSize)
\'Stop
Else
NumberArray(3, i) = TempNumber
End If
If TempNumber = 0 Then Exit For
Next
\'Takes all the resultblocks and puts then in one line before sending them back
Dim FinishNumber As String
FinishNumber = \"\"
For i = 0 To BlockCount
If Not NumberArray(3, i) = 0 Then
FinishNumber = NumberArray(3, i) & FinishNumber
\'Stop
End If
Next
CalcAdd = FinishNumber
End Function
------------------------------
