Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: gerundete Zahlen werden nicht weiterverarbeitet

  Alt 11. Okt 2012, 16:44
Man kann die "Gleichheit" von zwei Real-Zahlen auch so testen:

Delphi-Quellcode:
var
   a, b // die zu vergleichenden Werte
   epsilon: Real;

epsilon := 1e-8; // irgendeine Genauigkeit (hier 10^-8)

if abs(a-b) < epsilon then showmessage('a und b sind gleichgroß');
Gruß
Genau um so etwas nicht per Hand zu programmieren, sind die von himitsu aufgelisteten Funktionen da. Denn diese 'irgendeine Genauigkeit' ist nicht so einfach vorzugeben. Wenn Du im Nanometerbereich arbeitest, dann ist dein epsilon viel zu groß, bei Lichtjahren allerdings viel zu klein (Basiseinheit Meter).

Da ist 'SameValue' mit dem defaultwert 'epsilon=0' schon pfiffiger. Schau Dir mal den Quelltext an.
  Mit Zitat antworten Zitat