AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlenvergleich vom Typ Real

Ein Thema von Sidi61 · begonnen am 7. Jan 2018 · letzter Beitrag vom 8. Jan 2018
Antwort Antwort
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Zahlenvergleich vom Typ Real

  Alt 8. Jan 2018, 10:11
Oder du nimmst gleich Ganzzahltyp Int64 oder so, falls dein Zahlenbereich es zu läßt. Ich hatte vor einigen Jahren mal ein Projekt gehabt, wo ich die Gesamtsumme von den gekauften Aktien(mit 4-stellige Kommazahlen) ausrechnen mußte, also eigentlich eine simple Aufgabe und bin auch auf das Problem gestossen, dass die Gleitkommadarstellung bei einigen Zahlen nicht genau arbeiten, wenn man exakt vergleicht. Habe einfach alles mit 10000 multipliziert, da es sich bei mir um 4-stellige Kommazahlen gehandelt haben, und den Vergleich mit Int64 gemacht.

lg,
jus

Geändert von jus ( 8. Jan 2018 um 10:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zahlenvergleich vom Typ Real

  Alt 8. Jan 2018, 10:17
verstehe ich jetzt nicht

Rundungsfehler bei Division ja, aber bei Addition??
Weil Fließkommatypen eben per se bereits aus Multiplikationen/Divisionen bestehen.

http://docwiki.embarcadero.com/RADSt...)#Reelle_Typen


Oder du nimmst gleich Ganzzahltyp Int64 oder so, ...
Rate mal was ein Currency ist.
Das ist ein Int64, wo die letzten 4 Dezimalstellen als Nachkomma genutzt werden, also /10000 .

Wenn du das selber mit einem Int64 machst, mußt du z.B. bei Multiplikationen und Divisionen aufpassen, dass danach die Nachkommastellen stimmen. Ebenso mußt du bei Multiplikation mit Überläufen aufpassen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Jan 2018 um 10:20 Uhr)
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Zahlenvergleich vom Typ Real

  Alt 8. Jan 2018, 10:42
...
Oder du nimmst gleich Ganzzahltyp Int64 oder so, ...
Rate mal was ein Currency ist.
Das ist ein Int64, wo die letzten 4 Dezimalstellen als Nachkomma genutzt werden, also /10000 .

Wenn du das selber mit einem Int64 machst, mußt du z.B. bei Multiplikationen und Divisionen aufpassen, dass danach die Nachkommastellen stimmen. Ebenso mußt du bei Multiplikation mit Überläufen aufpassen.
Ok, wenn Currency es genauso macht, ist es ja gut, muß ich gestehen, hatte ich nicht gewußt. Ich hatte damals nur Multiplikationen Kommazahl mit Ganzzahl gebraucht. Mir ist es damals auch nur deswegen aufgefallen, weil mein Algorithmus nur bei bestimmten Zahlen abgestürzt ist.

lg,
jus

Geändert von jus ( 8. Jan 2018 um 10:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:18 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-2025 by Thomas Breitkreuz