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: WennAkleiner alsBist (um mehr alsEpsilon, wennAundBGleitkommazahlen sind).EqualsValue: WennAgleichBist (derselbe Wert oder im Bereich vonEpsilon, wennAundBGleitkommazahlen sind).GreaterThanValue: WennAgrößer alsBist (um mehr alsEpsilon, wennAundBGleitkommazahlen 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)