Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 25 ist kleiner als 25? (https://www.delphipraxis.net/12701-25-ist-kleiner-als-25-a.html)

trifid 2. Dez 2003 18:41

Re: 25 ist kleiner als 25?
 
Hallo

@himitsu,
von der Delphi-Rundungsfunktion Round() würde ich abraten, da diese Fehler hat.

FBrust 2. Dez 2003 19:08

Re: 25 ist kleiner als 25?
 
Also,

dblWeight kommt aus einer Tabelle. Das zugrundeliegende Feld hat den Typ numeric und in der Quelltabelle steht 25,0 drin, nicht mehr und nicht weniger.

Die Felder intFrom5 und intFrom6 kommen auch aus einer Tabelle, haben ebenfalls den Typ numeric und es stehen einmal 15,0 (intFrom5) und einmal 25,0 (intFrom6) drin.

Also glaube ich nicht, dass Runden hier etwas bringt. Die Frage lautet für mich vielmehr:

Wie kann ich den tatsächlichen Wert des Feldes feststellen, d. h. wenn 24,99999 drinsteht, wie kann ich das feststellen?


Grüße
Frank

dizzy 2. Dez 2003 20:39

Re: 25 ist kleiner als 25?
 
Das Problem hierbei ist die Art und Weise wie float/double-Werte hinterlegt werden. Sie werden nämlich nicht dezimal, so wie du sie siehst intern verarbeitet, sondern in Hexdump-Darstellung (frag mich bitte keiner nach Details ;)). Dabei wird die Zahl entsprechend umgerechnet, und die Ungenauigkeit resultiert aus der mathematischen Inkompatibilität von Hex und Dezimal. (Boaaa, klingt das abgehoben :D)

Von daher bist du bei float's immer mit einem minimalen Informationsverlust unterwegs. Und genau DER ist es, der dir in die Suppe spuckt!
Das Verfahren das trifid gezeigt hat ist für Vergleiche von floats üblich und sinnvoll.


gruss,
dizzy

FBrust 2. Dez 2003 22:25

Re: 25 ist kleiner als 25?
 
Na gut, Leute,

vielen Dank für Eure Antworten.

Ich werd' das Verfahren von trifid ausprobieren und dann berichten...


Grüße
Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.
Seite 2 von 2     12   

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