Obtenir le nombre de décimales de n'importe quel nombre (pas seulement les guillemets) en contournant Digits() dans MQL4 et MQL5 - page 5
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Vous avez besoin d'un
de sorte que
le résultat était : 4
Exactement quatre ? C'est parti.
C'est peut-être exactement la fonction dont vous avez besoin. A répondu au CT
Il a précisément besoin d'une telle fonction, car (comme vous l'avez correctement noté) tous les nombres ne peuvent pas être représentés exactement comme des doubles, ce qui signifie que résoudre le problème sans spécifier la précision n'a pas de sens (car dans le cas général, cela conduit à des résultats absurdes).
C'est exactement ce dont il a besoin, car (comme vous l'avez noté à juste titre) tous les nombres ne peuvent pas être représentés avec précision sous la forme d'un double, ce qui signifie que résoudre le problème sans spécifier la précision n'a pas de sens (car en général, cela conduit à des résultats absurdes).
Quelles sont les options permettant de spécifier la précision sans modifier le nombre de décimales, ou comment puis-je éliminer l'inconvénient décrit dans ma version ? Pour ma part, je n'ai trouvé qu'une (string)valeur
Quelles sont les options permettant de spécifier la précision sans modifier le nombre de décimales, ou comment puis-je éliminer l'inconvénient décrit dans ma version ? Pour ma part, je n'ai trouvé qu'une (string)valeur
Je suppose que vous voulez dire dans quelles limites chercher le dernier non-zéro.
essayé de faire un calcul du nombre de chiffres après la virgule à travers MathMod() avec un diviseur consécutif 0,1 , puis 0,01 ... 0,000(15 zéros) 1, il n'a pas fonctionné, la précision du nombre continue "flottant" besoin de normaliser à chaque fois, et si vous utilisez la normalisation, alors il est plus facile de comparer le nombre désiré et normalisé à quel signe - si différent, alors trouvé le dernier signe
HH : il y a une autre option, je n'ai pas eu le temps de vérifier - multiplier un nombre réel sans partie entière de 10 ^ 16 et sauvegarder le tout en long, puis diviser par 10 et vérifier le reste de la division, si = 0, alors diviser à nouveau.
ZS : il y a une autre option, je n'ai pas eu le temps de vérifier - multiplier un nombre réel sans partie entière par 10^16 et sauvegarder le tout dans un long, puis diviser par 10 et vérifier le reste de la division, si = 0, alors diviser à nouveau.
Ça ne marchera pas.
Utiliser ledoublePoint()
Également testé, pas moyen.
C'est tout.
Il donne ce résultat
Également testé, il ne fonctionne pas.