vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Exponentialzahlen ausschreiben 
Autor: Preisser
Datum: 16.01.09 23:10

Um beliebig große Zahlen, die als Strings gespeichert sind, zu addieren, müsste man die Addition von Hand durchführen, beispielsweise so:

Public Function ZahlenAddieren(Zahl1 As String, Zahl2 As String)
Dim Zahl1Add As String
Dim Zahl2Add As String
Dim Zahl3Add As String
Dim Übertrag As Boolean
Dim PunktStelle1 As Double
Dim PunktStelle2 As Double
Dim Zahl1PunktstelleVonLinks As Long, Zahl2PunktstelleVonLinks As Long
Dim Zahl1VormKomma As String, Zahl2VormKomma As String
Dim Zahl1NachmKomma As String, Zahl2NachmKomma As String
Dim PunktstelleVonLinks As Long
Dim GesLänge As Long, dere As Long
Dim Ergebnis1Stelle As Long
'Vorbereitung
Zahl1Add = Zahl1
Zahl2Add = Zahl2
If InStr(1, Zahl1Add, ",") = 0 Then Zahl1Add = Zahl1Add & ","
If InStr(1, Zahl2Add, ",") = 0 Then Zahl2Add = Zahl2Add & ","
Zahl1PunktstelleVonLinks = InStr(1, Zahl1Add, ",")
Zahl1VormKomma = Mid$(Zahl1Add, 1, InStr(1, Zahl1Add, ",") - 1)
Zahl1NachmKomma = Mid$(Zahl1Add, InStr(1, Zahl1Add, ",") + 1, Len(Zahl1Add))
Zahl2PunktstelleVonLinks = InStr(1, Zahl2Add, ",")
Zahl2VormKomma = Mid$(Zahl2Add, 1, InStr(1, Zahl2Add, ",") - 1)
Zahl2NachmKomma = Mid$(Zahl2Add, InStr(1, Zahl2Add, ",") + 1, Len(Zahl2Add))
 
 
If Len(Zahl1VormKomma) < Len(Zahl2VormKomma) Then
    Zahl1VormKomma = String(Len(Zahl2VormKomma) - Len(Zahl1VormKomma), "0") & _
      Zahl1VormKomma
ElseIf Len(Zahl1VormKomma) > Len(Zahl2VormKomma) Then
    Zahl2VormKomma = String(Len(Zahl1VormKomma) - Len(Zahl2VormKomma), "0") & _
      Zahl2VormKomma
End If
If Len(Zahl1NachmKomma) < Len(Zahl2NachmKomma) Then
    Zahl1NachmKomma = Zahl1NachmKomma & String(Len(Zahl2NachmKomma) - Len( _
      Zahl1NachmKomma), "0")
ElseIf Len(Zahl1NachmKomma) > Len(Zahl2NachmKomma) Then
    Zahl2NachmKomma = Zahl2NachmKomma & String(Len(Zahl1NachmKomma) - Len( _
      Zahl2NachmKomma), "0")
End If
Zahl1VormKomma = "0" & Zahl1VormKomma
Zahl2VormKomma = "0" & Zahl2VormKomma
 
'End If
PunktstelleVonLinks = Len(Zahl1VormKomma)
'PunktstelleVonLinks = Len(Zahl2VormKomma)
Zahl1Add = Zahl1VormKomma & Zahl1NachmKomma
Zahl2Add = Zahl2VormKomma & Zahl2NachmKomma
 
 
 
Übertrag = False
Zahl3Add = ""
 
'msg
'If Not Len(Zahl1Add) = Len(Zahl2Add) Then MsgBox "Fehler"
GesLänge = Len(Zahl2Add)
'Addieren
For dere = GesLänge To 1 Step -1
    Ergebnis1Stelle = Val(Mid$(Zahl1Add, dere, 1)) + Val(Mid$(Zahl2Add, dere, _
      1))
    If Übertrag Then
        Ergebnis1Stelle = Ergebnis1Stelle + 1
        Übertrag = False
    End If
    If Ergebnis1Stelle > 9 Then
        Übertrag = True
        Ergebnis1Stelle = Ergebnis1Stelle - 10
    End If
    Zahl3Add = Ergebnis1Stelle & Zahl3Add
Next
Zahl3Add = Mid$(Zahl3Add, 1, PunktstelleVonLinks) & "," & Mid$(Zahl3Add, _
  PunktstelleVonLinks + 1, Len(Zahl3Add))
 
For dere = 1 To PunktstelleVonLinks
    If Mid$(Zahl3Add, 1, 1) = "0" Then
        Zahl3Add = Mid$(Zahl3Add, 2, Len(Zahl3Add))
    Else
        dere = Len(Zahl3Add) + 200
    End If
Next
For dere = Len(Zahl3Add) To 1 Step -1
    If Mid$(Zahl3Add, dere, 1) = "0" Then
        Zahl3Add = Mid$(Zahl3Add, 1, Len(Zahl3Add) - 1)
    Else
        dere = -200
    End If
Next
If InStr(1, Zahl3Add, ",") = Len(Zahl3Add) Then Zahl3Add = Mid$(Zahl3Add, 1, _
  Len(Zahl3Add) - 1)
ZahlenAddieren = Zahl3Add
End Function
MfG, Preißer
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Exponentialzahlen ausschreiben2.164VB-Programmer0115.01.09 22:53
Re: Exponentialzahlen ausschreiben1.322eiskalterengel16.01.09 08:19
Re: Exponentialzahlen ausschreiben1.371VB-Programmer0116.01.09 19:22
Re: Exponentialzahlen ausschreiben1.302VB-Programmer0116.01.09 19:35
Re: Exponentialzahlen ausschreiben1.273Preisser16.01.09 23:10
Re: Exponentialzahlen ausschreiben1.211VB-Programmer0117.01.09 17:35
Re: Exponentialzahlen ausschreiben1.376Preisser17.01.09 23:11
Re: Exponentialzahlen ausschreiben1.247VB-Programmer0118.01.09 12:52
Re: Exponentialzahlen ausschreiben1.290icetea12318.01.09 17:07
Re: Exponentialzahlen ausschreiben1.203Dirk19.01.09 10:06
Re: Exponentialzahlen ausschreiben1.212VB-Programmer0119.01.09 18:26
Re: Exponentialzahlen ausschreiben1.354VB-Programmer0120.01.09 22:49

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel