Visual Basic und natürlich auch andere Programmiersprachen haben bekanntlich Probleme, wenn es darum geht, z.B. zwei sehr große Ganzzahlen zusammenzuzählen (addieren). Irgendwann ereilt uns nämlich dann die bekannte Fehlermeldung 6 - Überlauf. Mit nachfolgender Funktion hingegen lassen sich Ganzzahlen beliebiger Größe (Länge) addieren - und zwar als Strings. Die Zahlen können demnach so groß sein, wie ein String Zeichen enthalten kann (also ziemlich groß ' String-Addition zweier sehr großer Ganzzahlen Public Function ADDITION(ByVal sZahl1 As String, _ ByVal sZahl2 As String) As String ' Addition notwendig? If sZahl1 = "" Or sZahl2 = "" Then Exit Function ' Strings auf gleiche Länge bringen Dim nLen1 As Long Dim nLen2 As Long nLen1 = Len(sZahl1): nLen2 = Len(sZahl2) If nLen1 > nLen2 Then sZahl2 = String$(nLen1 - nLen2, "0") + sZahl2 ElseIf nLen2 > nLen1 Then sZahl1 = String$(nLen2 - nLen1, "0") + sZahl1 End If Dim nLen As Long Dim i As Long Dim z As Byte Dim x As String ' Maximale Länge nLen = Len(sZahl1) ' Strings addieren For i = 1 To nLen ADDITION = (CDec(Left$(Right$(sZahl1, i), 1)) + _ CDec(Left$(Right$(sZahl2, i), 1))) If (CDec(ADDITION)) >= 10 Then x = CStr(CDec(Right$(ADDITION, 1)) + z) & x z = 1 ElseIf (CDec(ADDITION) + z) = 10 Then x = "0" & x z = 1 ElseIf (CDec(ADDITION) + z) < 10 Then x = CStr(CDec(ADDITION) + z) & x z = 0 End If Next i ADDITION = IIf(z <> 0, CStr(z), "") & x End Function Wie gesagt: Zu beachten ist, dass die beiden Zahlen als String vorliegen. Die Funktion selbst gibt das Ergebnis der Addition dann ebenfalls als String zurück. Dieser Tipp wurde bereits 16.151 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |