System.Math.CompareValue
Delphi
function CompareValue(const A, B: Extended; Epsilon: Extended): TValueRelationship;
function CompareValue(const A, B: Double; Epsilon: Double): TValueRelationship;
function CompareValue(const A, B: Single; Epsilon: Single): TValueRelationship;
function CompareValue(const A, B: Integer): TValueRelationship;
function CompareValue(const A, B: Int64): TValueRelationship;
function CompareValue(const A, B: UInt64): TValueRelationship;
C++
extern DELPHI_PACKAGE System::Types::TValueRelationship __fastcall CompareValue(const System::Extended A, const System::Extended B, System::Extended Epsilon = 0.000000E+00)/* overload */;
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | System.Math.pas System.Math.hpp |
System.Math | System.Math |
Beschreibung
Gibt die Beziehung zwischen zwei numerischen Werten zurück.
Mit CompareValue können Sie die Beziehung zwischen zwei numerischen Werten ermitteln. Beim Vergleich von Gleitkommawerten können Sie mit CompareValue eine maximale Differenz angeben, sodass Werte, die innerhalb dieser Differenz liegen, als gleich betrachtet werden.
A
und B
sind die zu vergleichenden Werte.
Epsilon
ist die maximale Differenz, bei der A
und B
noch als gleich angesehen werden.
CompareValue gibt eine der folgenden für den Typ TValueRelationship definierten Konstanten zurück:
LessThanValue
: WennA
kleiner alsB
ist (um mehr alsEpsilon
, wennA
undB
Gleitkommazahlen sind).EqualsValue
: WennA
gleichB
ist (derselbe Wert oder im Bereich vonEpsilon
, wennA
undB
Gleitkommazahlen sind).GreaterThanValue
: WennA
größer alsB
ist (um mehr alsEpsilon
, wennA
undB
Gleitkommazahlen sind).
Wenn
ist, dann wird implizit ein angemessener Standardwert verwendet. Beispielweise verwendet die Double-Version von SameValue den Standardwert: Epsilon
= 0
Epsilon = Max(Min(Abs(A), Abs(B)) * 1E-12, 1E-12)