AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Boolean Auswertung unterschiedliches Ergebnis

Boolean Auswertung unterschiedliches Ergebnis

Ein Thema von Paat · begonnen am 11. Mär 2020 · letzter Beitrag vom 11. Mär 2020
Antwort Antwort
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!
Miniaturansicht angehängter Grafiken
bool_delphipraxis.jpg  

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

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#2

AW: Boolean Auswertung unterschiedliches Ergebnis

  Alt 11. Mär 2020, 11:58
Schau mal hier rein, da dürfte alles relevante zum Problem gesagt werden: https://www.delphipraxis.net/184097-...atentypen.html

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Paat

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

AW: Boolean Auswertung unterschiedliches Ergebnis

  Alt 11. Mär 2020, 13:52
Vielen Dank für die Hilfe.
Habe schon an meinem Verstand gezweifelt
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz