Erreurs, bugs, questions - page 1424

 

Quel genre d'insecte est-ce ? Ça n'arrive pas tout le temps, ça surgit juste de temps en temps.


NormaliserDouble(valeur, 4) ;

mais produit ceci

0.5484000000001

 
Itum:

Quel genre d'insecte est-ce ? Il n'apparaît pas de temps en temps.


NormaliserDouble(valeur, 4) ;

il produit ceci

0.5484000000001

Où va-t-il ?
 
Itum:

Quel genre d'insecte est-ce ? Il n'apparaît pas de temps en temps.


NormaliserDouble(valeur, 4) ;

et imprime ceci

0.5484000000001

Cela vient de l'aide :


NormalizeDouble
................................
Veuillez noter que lors de la sortie vers le Journal à l'aide de Print(), un nombre normalisé peut contenir plus de décimales que prévu. Par exemple,

double a=76.671 ;// nombre normalisé avec 3 décimales
Print("Print(76.671)=",a) ;// l'imprimer tel quel
Print("DoubleToString(a,8)=",DoubleToString(a,8)) ;// imprime avec une précision spécifiée

sera affiché dans le terminal :

DoubleToString(a,8)=76.67100000

Print(76.671)=76.67100000000001

 
Vladimir Pastushak:
Où sort-il ?
écrire dans un fichier.
 
Mike:

Ceci est tiré de la référence :


NormalizeDouble
................................
Veuillez noter que lors de la sortie vers le Journal à l'aide de Print(), un nombre normalisé peut contenir un plus grand nombre de décimales que prévu. Par exemple,

double a=76.671 ;// nombre normalisé avec 3 décimales
Print("Print(76.671)=",a) ;// l'imprimer tel quel
Print("DoubleToString(a,8)=",DoubleToString(a,8)) ;// l'imprimer avec la précision spécifiée

donnera dans le terminal :

DoubleToString(a,8)=76.67100000

Print(76.671)=76.67100000000001


Quel est le problème ?
 
Yury Kirillov:

Quel est le problème ?

est qu'il doit être composé de 4 chiffres ! Il y a des cas qui donnent 4 caractères, et il y a des cas avec ... 0000000001 ! Comment se fait-il qu'une même fonction reçoive des valeurs différentes ?

Comment arrondir la valeur à 4 chiffres ...

-----------------------------------------------------------------------------------

NormaliserDouble(valeur, 4) ;

mais produit ceci

0.5484000000001

 
Itum:

est qu'il doit être composé de 4 chiffres ! Il y a des cas qui donnent 4 caractères, et il y a des cas avec ... 0000000001 ! Comment se fait-il qu'une même fonction reçoive des valeurs différentes ?

Comment arrondir la valeur à 4 chiffres ...

-----------------------------------------------------------------------------------

NormaliserDouble(valeur, 4) ;

mais produit ceci

0.5484000000001

DoubleToString
 

Pourquoi je ne peux pas faire ça ?

 for(int h=0; h<=10;h++){
      for(int d=10; d<=20;d++){

      min_array[h]=d;

} }
Comment mettre en œuvre un tel code ?
 
Itum:

Pourquoi ne pouvez-vous pas le faire ?

Comment mettre en œuvre ce code ?

Utilisez un stylo de code.

Et un tableau doit d'abord être déclaré avant de pouvoir y accéder :

   int min_array[10];
   for(int h=0; h<=10;h++)
     {
      for(int d=10; d<=20;d++)
        {
         min_array[h]=d;
        }
     }
 
Itum:

est qu'il doit être composé de 4 chiffres ! Il y a des cas qui donnent 4 caractères, et il y a des cas avec ... 0000000001 ! Comment se fait-il qu'une même fonction reçoive des valeurs différentes ?

Comment arrondir une valeur à 4 caractères ...

-----------------------------------------------------------------------------------

NormaliserDouble(valeur, 4) ;

et cela donne ceci

0.5484000000001

Avez-vous lu attentivement la documentation ?

https://www.mql5.com/ru/docs/convert/normalizedouble

https://www.mql5.com/ru/docs/basis/types/double

Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5