0

Rundungsfehler?

Hallo,

Was kann die Ursache dafür sein, dass ich nach einer Berechnung welche offene Summe der Kunde mit einem Regelmäßigen Monatshonorar noch offen hat ein Ergebnis von -0,00000000 € komme?

Mich stört dabei das Minus. Bei einer Auswertung mit if wird der Wert auch kleiner als 0 eingestuft.

Nun habe ich in den Rechnungen versucht mit der Funktion round() Fehler zu vermeiden. Es bringt aber nichts?

Weiß jemand was die Ursache für soch ein Problem sein kann?

Vielen Dank!

3 Antworten

null
    • bastianholzheimer_gmail
    • vor 10 Monaten
    • Gemeldet - anzeigen

    In einer Rechnung die 0 ergeben müsste, komm ich auf -0,00000000000000710543. Wie kann das passieren?

    • T_Bartzsch
    • vor 10 Monaten
    • Gemeldet - anzeigen

    Ja, das ist leider das Problem mit den Gleitkommazahlen. Das lässt sich leider nicht ganz vermeiden, du kannst höchstens versuchen schon früh jede Rechnung zu runden round(WERT, 2) ...

    Hier mal ein Textausschnitt 

    Rechnen mit Gleitkommazahlen

    Beim Rechnen mit Gleitkommazahlen gelten die Regeln der Schulmathematik nicht mehr. Das liegt an den Genauigkeitsverlusten. Der Grund ist, dass sich Dezimalzahlen nicht exakt binär darstellen lassen. Ein Beispiel: Die Zahl 0,2 hat als Binärzahl unendlich viele Stellen, von denen man aber nur eine begrenzte Anzahl speichern kann. Das bedeutet, sie müssen irgendwann gekürzt bzw. gerundet werden. Das führt dann zu Ungenauigkeiten, die mal mehr mal weniger stark ausfallen.

    https://www.elektronik-kompendium.de/sites/dig/1807231.htm

      • bastianholzheimer_gmail
      • vor 10 Monaten
      • Gemeldet - anzeigen

       

      Vielen Dank für die Antwort! Mir war das Problem von Binärzahlen nicht bewusst. Ich werde das probieren.

Content aside

  • vor 10 MonatenZuletzt aktiv
  • 3Antworten
  • 41Ansichten
  • 2 Folge bereits