Est-il possible d'obtenir une valeur "exacte" ? - page 4 1234567 Nouveau commentaire [Supprimé] 2014.10.04 11:02 #31 sanyooooook: quelle fonction voulez-vous dire ?Premier de la ligne ou NL ?Fonction NL.Si c'est le cas :NL (2, 0.09 * 5); // 0.44Il donne 0,44 au lieu de 0,45. Alexandr Bryzgalov 2014.10.04 11:13 #32 WePlexus: Fonction NL.Si c'est le cas :Il donne 0,44 au lieu de 0,45. Print(NL(DIGITS,0.45)); 2014.10.04 13:13:03.089 normalize EURUSD,H4: 0.45 Alexandr Bryzgalov 2014.10.04 11:21 #33 WePlexus:Fonction NL.Si c'est le cas :Vous obtenez 0,44 au lieu de 0,45.C'est parce que : MathFloor(valeur/étape)=44L'entrée est 44.999999999999999999, cette fonction renvoie le nombre entier le plus proche du bas.pourquoi : valeur/étape(0.45/0.01)=44.9999999999999999 n'est pas ma question ) [Supprimé] 2014.10.04 11:26 #34 sanyooooook: vient du fait que : MathFloor(valeur/étape)=44La valeur d'entrée est 44.99999999999999. Cette fonction renvoie le nombre entier le plus proche du bas.pourquoi : valeur/étape(0,45*100)=44,9999999999999999 n'est pas ma question). Merci. :) Alexandr Bryzgalov 2014.10.04 11:27 #35 WePlexus: Merci. :) corrigé l'erreur dans le post Alexandr Bryzgalov 2014.10.04 11:28 #36 WePlexus: Merci. :)Votre fonction est donc plus correcte)D'ailleurs, dans ce cas, toutes les fonctions, sauf la mienne, donnent 0,45 ;) Alexandr Bryzgalov 2014.10.04 11:30 #37 cela signifie qu'avant d'utiliser une fonction, les données d'entrée doivent être vérifiées et en fonction du nombre, vous choisissez l'une ou l'autre fonction) Andrey F. Zelinsky 2014.10.04 11:31 #38 sanyooooook: donc votre fonction est plus correcte )d'ailleurs dans ce cas toutes les fonctions sauf la mienne donnent 0.45 ))Eh bien, Sanyok, tu es un menteur.ma fonction ://double d=0.019999999999999999; double d=0.09*5; double e=(int)(d*100)/100.0; Print("e=",e); =0.44 [Supprimé] 2014.10.04 11:34 #39 abolk: ma fonction est =0,44. Oui, mais la calculatrice dit 0,09*5=0,45. :) Andrey F. Zelinsky 2014.10.04 11:35 #40 WePlexus: Exact, et le résultat dans la calculatrice est 0.45. :)C'est vrai, je ne faisais pas attention au début. 1234567 Nouveau commentaire
quelle fonction voulez-vous dire ?
Premier de la ligne ou NL ?
Fonction NL.
Si c'est le cas :
Il donne 0,44 au lieu de 0,45.
Fonction NL.
Si c'est le cas :
Il donne 0,44 au lieu de 0,45.
Fonction NL.
Si c'est le cas :
Vous obtenez 0,44 au lieu de 0,45.
C'est parce que : MathFloor(valeur/étape)=44
L'entrée est 44.999999999999999999, cette fonction renvoie le nombre entier le plus proche du bas.
pourquoi : valeur/étape(0.45/0.01)=44.9999999999999999 n'est pas ma question )
vient du fait que : MathFloor(valeur/étape)=44
La valeur d'entrée est 44.99999999999999. Cette fonction renvoie le nombre entier le plus proche du bas.
pourquoi : valeur/étape(0,45*100)=44,9999999999999999 n'est pas ma question).
Merci. :)
Merci. :)
Votre fonction est donc plus correcte)
D'ailleurs, dans ce cas, toutes les fonctions, sauf la mienne, donnent 0,45 ;)
donc votre fonction est plus correcte )
d'ailleurs dans ce cas toutes les fonctions sauf la mienne donnent 0.45 ))
Eh bien, Sanyok, tu es un menteur.
ma fonction :
=0.44ma fonction
est =0,44.Exact, et le résultat dans la calculatrice est 0.45. :)
C'est vrai, je ne faisais pas attention au début.