0.02*4.9=0.098 -- pas 0.98
sortie au format 2 décimales -- 0.098 sera sortie arrondie à 0.10 selon les règles d'arrondi
si sortie au format 3 chiffres -- le nombre entier sera sorti.
0.02*4.9=0.098 -- pas 0.98
sortie au format 2 décimales -- 0.098 sera sortie arrondie à 0.10 selon les règles d'arrondi
Si la sortie est au format à 3 chiffres, le nombre entier sera imprimé.
Merci, j'ai corrigé les chiffres.
C'est le problème, vous devez prendre 2 chiffres après la virgule. :) Pourquoi est-il arrondi ? Comment prendre un nombre fractionnaire sans arrondir et avec seulement 2 chiffres après la virgule (0,09) ?
Merci, j'ai corrigé les chiffres.
C'est le problème, il faut prendre deux décimales. :) Pourquoi est-il arrondi ? Comment prendre un nombre fractionnaire sans arrondir et avec seulement 2 chiffres après la virgule (0,09) ?
Merci, j'ai corrigé les chiffres.
C'est le problème, il faut prendre deux décimales. :) Pourquoi est-il arrondi ? Comment prendre un nombre fractionnaire sans arrondir et avec seulement 2 chiffres après la virgule (0,09) ?
int a=int(0.098/0.01); double b=a*0.01; Comment(DoubleToString(b,2));
le traduire en une chaîne de caractères et prendre le nombre de caractères que vous voulez
Connaissez-vous un moyen plus facile
Et si vous le faites :
int a=int((0.09*5)/0.01); double b=a*0.01; Comment (DoubleToString (b,2));
La sortie est de 0,44 au lieu des 0,45 requis.
Et si vous le faites :
La sortie est de 0,44 au lieu des 0,45 requis.
int a=int(MathFloor((0.98)/0.001)); double b=a*0.001; Comment(DoubleToString(b,2));
0,098, et non 0,98. :)
int a = int (MathFloor ((0.098) / 0.001)); double b = a * 0.001; Comment (DoubleToString (b, 2));
Renvoie 1, et la valeur exacte recherchée = 0.09.
Connaissez-vous un moyen plus facile ?
c'est la première chose qui m'est venue à l'esprit, bien sûr il y en a des plus simples.
Ce n'est pas compliqué non plus, mais c'est peut-être plus lent :
int DIGITS=2; string stroka=DoubleToString(0.09845,8); int P=StringFind(stroka,"."); Print(stroka); stroka=StringSubstr(stroka,0,P+DIGITS+1); Print(StringToDouble(stroka)); возвращает: 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09845000
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Salutations. J'ai besoin d'aide pour résoudre un problème :
Toutes les fonctions renvoient 0,1. Bien que (0,02*4,9) = 0,098 et devrait retourner 0,09.
Veuillez me dire comment obtenir la valeur exacte qui renvoie ma calculatrice ? :)