Obtenir le nombre de décimales de n'importe quel nombre (pas seulement les guillemets) en contournant Digits() dans MQL4 et MQL5 - page 6

 
Aliaksandr Hryshyn:
Pourquoi ?

Voici l'addendum

void OnStart()
{
 double p = 0.07;
 Print(p);
 Print(log10(p));
}/*******************************************************************/

Résultat

2018.11.05 10:45:32.678 !00 (GBPJPY,H1) 0.07000000000000001
2018.11.05 10:45:32.678 !00 (GBPJPY,H1) -1.154901959985743
 
Alexey Viktorov:

Voici l'addendum

Résultat

MathAbs(log10(Point()))
Vérifiez-le).
 
Et voyons comment empiler sans opérateur + .
 
Aliaksandr Hryshyn:
MathAbs(log10(Point()))
Cochez cette case).

Pourquoi en ai-je besoin ? Je sais déjà que 0,00001 est imprimé sans distorsion. Après tout, la question du sujet est de déterminer le nombre de décimales de n'importe quel nombre, et pas seulement de _Point . Je vous ai montré dans quelles versions votre suggestion ne fonctionnera pas.

 

Pour s'entraîner mentalement, il faut représenter la partie fractionnaire comme une fraction naturelle et faire quelque chose avec le diviseur/diviseur (trouver la fraction non périodique la plus proche, par exemple).

découvrir par télépathie "combien de chiffres l'expéditeur vous a donné" ne vous aidera pas, mais c'est amusant.

 
   double b=3.00000000000000001;
   int i;
   for(i=0; i<16; i++)
    if(fabs(b-NormalizeDouble(b,i))<DBL_EPSILON) break;
   Print(NormalizeDouble(b,i)," : ",i);


 

Reprenez vos esprits. C'est un non-sens qui ne devrait même pas être discuté sérieusement.

L'auteur a tout simplement une incompréhension totale du fonctionnement interne des doubles variables.

 
Mesaoria:

Reprenez vos esprits. C'est un non-sens qui ne devrait même pas être discuté sérieusement.

L'auteur a tout simplement une incompréhension totale du fonctionnement interne des doubles variables.

Je n'ai pas prétendu tout savoir, vous feriez mieux de me dire ce qui ne va pas ou de me montrer votre variante.
 
Mesaoria:

Reprenez vos esprits. C'est un non-sens qui ne devrait même pas être discuté sérieusement.

L'auteur a tout simplement une incompréhension totale du fonctionnement interne des doubles variables.

S'il vous plaît, éclairez-nous, pauvres et faibles.

 

Quand l'algorithme sera-t-il finalisé ? Il est nécessaire de l'utiliser depuis longtemps.