Arrondir les nombres dans MT4 via NormalizeDouble

 

Bonjour. Pouvez-vous me dire quel est le problème ?

Pourquoi la fonction NormalizeDouble(0.055,2) arrondit-elle le nombre "0.055" à "0.06" ?

Il ne s'agit pas d'une fonction d'arrondi de fraction.

 

https://docs.mql4.com/ru/convert/normalizedouble

Округление числа с плавающей точкой до указанной точности.

NormalizeDouble - Документация на MQL4
  • docs.mql4.com
NormalizeDouble - Документация на MQL4
 

Pour continuer le thème. Il existe un script

#property strict

void OnStart()
  {
   double v1 = NormalizeDouble(0.055,2);
   double v2 = NormalizeDouble(0.0549,2);

   Print("v1 = ",DoubleToString(v1),", v2 = ",DoubleToString(v2));
  }

résultat : v1 = 0,06000000, v2 = 0,05000000, alors qu'il devrait être de 0,06000000 dans les deux cas.

 
Maxim Khrolenko:

Pour continuer le thème. Il existe un script

résultat : v1 = 0,06000000, v2 = 0,05000000, alors qu'il devrait être de 0,06000000 dans les deux cas.

Arrondissement - Wikipédia

 
Roman Starinskij:

Bonjour. Pouvez-vous me dire quel est le problème ?

Pourquoi la fonction NormalizeDouble(0.055,2) arrondit-elle le nombre "0.055" à "0.06" ?

Il ne s'agit pas d'une fonction d'arrondi de fraction.

A votre avis, quel devrait être le résultat ?
 
Maxim Khrolenko:

Pour continuer le thème. Il existe un script

résultat : v1 = 0,06000000, v2 = 0,05000000, alors qu'il devrait être de 0,06000000 dans les deux cas.

Pourquoi pas ?
 
Maxim Khrolenko:

Pour continuer le thème. Il y a un script

Résultat : v1 = 0,06000000, v2 = 0,05000000, alors qu'il devrait être de 0,06000000 dans les deux cas.

Eh bien, vshchupeeeeeeeeeeeeeeeeeee....

Devrait être v1=v2=0.06.

Je ne l'ai jamais vérifié... C'est vraiment si mal ?

Avez-vous MT5 ou MT4 ?

 
new-rena:

Bien, wow, wow, wow, wow, wow, wow, wow, wow, wow, wow.

devrait être v1=v2=0.06.

Je n'ai jamais vérifié... C'est vraiment si mal barré ?

Pourquoi diable ferait-il ça ?
 
Dmitry Fedoseev:
Pourquoi tu ferais ça ?

J'ai eu un D à l'école, mais je me souviens avoir arrondi correctement...

Si le nombre le plus à droite est supérieur ou égal à 5, alors le nombre suivant à gauche est +1. Et ainsi de suite, de droite à gauche.

 
new-rena:
J'avais des F à l'école, mais je me souviens de ça...

Intéressant, quel genre d'école est-ce... Dis-moi ce que tu penses. Parce que je n'ai aucune idée de comment ça pourrait être aussi cliché.

 
Maxim Khrolenko:

Pour continuer le thème. Il existe un script

résultat : v1 = 0,06000000, v2 = 0,05000000, alors qu'il devrait être de 0,06000000 dans les deux cas.

Et tu normalises 3 caractères après la virgule.
Raison: