System.Math.CompareValue

De RAD Studio API Documentation
Aller à : navigation, rechercher

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 */;

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.Math.pas
System.Math.hpp
System.Math System.Math


Description

Renvoie la relation existant entre deux valeurs numériques.

Appelez CompareValue pour déterminer la relation existant entre deux valeurs numériques. Lorsque vous comparez des valeurs en virgule flottante, CompareValue vous permet de spécifier la différence maximale à utiliser pour la comparaison : les valeurs seront considérées comme égales si leur différence n'atteint pas cette quantité.

A et B sont les valeurs à comparer.

Epsilon est la quantité maximale dont A et B peuvent s'éloigner tout en étant considérées comme égales.

CompareValue renvoie l'une des constantes suivantes définies pour le type TValueRelationship :

  • LessThanValue si A est inférieur à B (par plus de Epsilon si A et B sont des nombres en virgule flottante).
  • EqualsValue si A est équivalent à B (égaux, ou compris dans Epsilon si A et B sont des nombres en virgule flottante).
  • GreaterThanValue si A est supérieur à B (par plus de Epsilon si A et B sont des nombres en virgule flottante).

Si Epsilon = 0, alors une valeur par défaut raisonnable est utilisée implicitement. Par exemple, la version Double de SameValue utilise la valeur par défaut :

Epsilon = Max(Min(Abs(A), Abs(B)) * 1E-12, 1E-12)

Voir aussi