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
Des fonctions pour arrondir le bas et le haut autrefois
Cela pourrait aider quelqu'un
Des fonctions pour arrondir le bas et le haut autrefois
Cela pourrait aider quelqu'un
essayez d'obtenir un résultat de0.99999999999999999999999
X = 0.99999999999999999
10*X = 10*0.99999999999999999
10*X-X = 10*0,999999999999999-0,9999999999999
9*X = 9*0.99999999999999999
nous obtenons 9*X = 9 ou X est égal à 1 (un)
v1 = (1/3) = 0,33333333 | v2 = 3*(1/3) = 1,00000000
ou 0.99999999999999999 = 1.0
v1 (1.00000000) >= 1.0
Merci à tous pour ce fil de discussion utile !
J'ai choisi la solution d'arrondir un chiffre de plus viaNormalizeDouble, puis de couper le dernier chiffre. Jusqu'à présent, c'est tout à fait convenable.
Encore une fois à propos des arrondis......
Veuillez me conseiller sur la situation (ne jetez pas de tomates, je suis un humanitaire),
il existe une telle variable :
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
Le delta est normalisé à l'origine,
Les lots de commande devraient probablement renvoyer des dubs normalisés,
mais d'une manière ou d'une autre, à de rares occasions, j'obtiens des chiffres comme 2.775557561562891e-17
Donc c'est presque zéro mais pas zéro.......
Première question : est-ce normal ?
deuxième question - si je comprends bien, il me suffira de faire la deuxième normalisation pour éviter les queues de poisson ?
Troisième question (je sens que je ne la comprendrai pas de toute façon, mais je la pose quand même) :
L'addition de deux nombres normalisés peut-elle donner des nombres non normalisés ?
P.S. Je m'excuse de remettre ça sur le tapis, mais je n'ai pas la force de tout relire.
Encore une fois à propos des arrondis......
Veuillez me conseiller sur la situation (ne jetez pas de tomates, je suis un humanitaire),
il existe une telle variable :
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
Le delta est normalisé à l'origine,
Les lots de commande devraient probablement renvoyer des dubs normalisés,
mais d'une manière ou d'une autre, à de rares occasions, j'obtiens des chiffres comme 2.775557561562891e-17
Donc c'est presque zéro mais pas zéro.......
Première question : est-ce normal ?
deuxième question - si je comprends bien, il me suffira de faire la deuxième normalisation pour éviter les queues de poisson ?
Troisième question (je sens que je ne la comprendrai pas de toute façon, mais je la pose quand même) :
L'addition de deux nombres normalisés peut-elle donner des nombres non normalisés ?
P.S. Excusez-moi d'en reparler, mais je n'ai pas l'énergie de tout relire.
P.S. Je m'excuse d'avoir remis ça sur le tapis, mais je n'ai pas l'énergie nécessaire pour tout recommencer.
Il est préférable de le vérifier vous-même avec différents exemples, cela vous permettra de comprendre.
Le seul problème, c'est que je m'y prends mal :
mais comme ça.
Pour les numéros doubles. Je ne sais pas si c'est vraiment important, mais je n'ai jamais rencontré d'erreur avec ma variante (j'essaie de ne comparer que les mêmes types de variables).
Je ne sais pas si cela a vraiment de l'importance, mais je n'ai jamais rencontré d'erreur avec ma version (j'essaie seulement de comparer les mêmes types de variables).