AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Boolean Auswertung unterschiedliches Ergebnis
Thema durchsuchen
Ansicht
Themen-Optionen

Boolean Auswertung unterschiedliches Ergebnis

Ein Thema von Paat · begonnen am 11. Mär 2020 · letzter Beitrag vom 11. Mär 2020
 
Paat

Registriert seit: 27. Feb 2019
Ort: Baden-Württemberg
8 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Boolean Auswertung unterschiedliches Ergebnis

  Alt 11. Mär 2020, 11:42
Hallo,

mir ist heute folgendes Phänomen aufgefallen und ich kann es mir absolut nicht erklären.
Ich habe in einem Programm eine Addition von Prozentwerten.

Ich hab einen Prozentwert (99.99) der in einem Datensatz in einer FDQuery (tabauf1) steht.
Der Datentyp des Feldes in der MariaDB Datenbank "FSP" ist double.

Nun sollen 0.01 diesem Wert dazuaddiert werden.
Macht logischerweise genau 100.

Dieser berechnete Wert muss nun überprüft werden ob er kleiner als 100 ist. (Grund sei mal dahingestellt)
Wenn ich aber im Quellcode folgendes mache, ist das Ergebnis true.

Delphi-Quellcode:
        //Bool //99.99 //DB-Typ: Double //0.01 //Typ: Double
          b := (tabauf1.fieldbyname('fsp').asfloat + danzahlung) < 100;
Für mich rechnet er jetzt folgendes:
99.99 + 0.01 = 100
100 < 100 = true.

Wenn ich allerdings "(tabauf1.fieldbyname('fsp').asfloat + danzahlung) < 100" in die Überwachten Ausdrücke schiebe, erhalte ich false als Ergebnis.
Also das was ich erwarten würde.
Warum erhalte ich bei der gleichen Bedingung unterschiedliche Ergebnisse und wieso ist, nur wegen einer Berechnung 100 < 100 Wahr?

Zum besseren Verständnis noch ein Screenshot im Anhang (Das Exit diente nur für den Haltepunkt).

Vielen Dank im vorraus!
Angehängte Grafiken
Dateityp: jpg bool_delphipraxis.jpg (39,1 KB, 15x aufgerufen)

Geändert von Paat (11. Mär 2020 um 11:45 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz