Question aux maîtres du MQL4. Encore une fois à propos de Double Comparaison. - page 11

 

Il n'a pas été discrètement interdit. Mais ouvertement, après deux avertissements. C'est un forum décent pour les gens sérieux. Vos vastes connaissances ne valent rien si vous ne pouvez pas les transmettre dans votre langue maternelle (qui, espérons-le, n'est pas l'albanais).

 

Lisez tout !

Plusieurs fois !

Différentes branches.

Mais je n'ai toujours pas vu de résumé. J'aimerais avoir des précisions et des clarifications sur cette question.

Messieurs, s'il vous plaît, si ce n'est pas une déception, faites une conclusion finale (à ce sujet) -

à tous, utilisateurs, perdants, mannequins, samovars - pour comparer les chiffres du type double, nous utilisons la formule suivante :

stdlib, bool CompareDoubles(double nombre1,double nombre2) ;

ou

if (NormalizeDouble((a-b)>0,Digits)) {...}

ou

int ComparePrice(double a, double b)
{
a -= b ;
b = Point / 2 ;
si (a > b) retourner (1) ;
si (a < -b) retourner (-1) ;
retour (0) ;
}

ou

double a ;
double b ;
int factor = MathRound( MathPow(10, digits) ) ; // digits est la précision à comparer
Si nous comparons des prix, il s'agit de la variable prédéfinie Chiffres
...

si (MathRound( (a - b * facteur ) != 0)
{
... // a != b
}

si (MathRound( (a - b) * facteur ) == 0)
{
... // a == b
}

si (MathRound( (a - b) * facteur ) > 0)
{
... // a > b
}

si (MathRound( (a - b) * facteur ) < 0)
{
... // a < b
}

ou

Lorsque vous comparez des nombres de type double avec une précision allant jusqu'à 4-5 chiffres, vous n'avez plus besoin d'élaborer.

Salutations, Alexander.