Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1000 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Bug avec les nombres réels en AS3

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bug avec les nombres réels en AS3

n°1993463
watoo wato​o
Posté le 16-05-2010 à 18:14:21  profilanswer
 

Bonjour,  
la boucle suivante fonctionne bien en AS2 :
 
var n:Number=0;
for(var i=0;i<10;i++) trace(n+=0.1);
 
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
 
Mais en AS3 j'obtiens ceci :
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999 ==> ça devrait finir par la valeur 1
 
Comment faire pour que ça fonctionne aussi ?  
Merci !


Message édité par watoo watoo le 16-05-2010 à 18:14:43
mood
Publicité
Posté le 16-05-2010 à 18:14:21  profilanswer
 

n°1993503
theredled
● REC
Posté le 16-05-2010 à 21:47:17  profilanswer
 

Ca fait toujours ça avec les flottants (qq soit le langage), ça peut jouer des tours.

 

En l'occurence ça te dérange vraiment ce comportement ? Si tu peux faire avec...


Message édité par theredled le 16-05-2010 à 21:48:30

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1993546
watoo wato​o
Posté le 17-05-2010 à 07:45:11  profilanswer
 

Ben j'avais jamais remarqué, alors pourquoi en AS2 ça ne le fait pas ? ça m'avais dérangé car je testais quand n=1 et je ne comprenais pas pourquoi ça ne marchait pas. Maintenant pour contourner ce bug je teste quand n>=1 :)

n°1993646
theredled
● REC
Posté le 17-05-2010 à 12:34:01  profilanswer
 

Ah oui du coup c'est vraiment dérangeant.
 
Je suis pas spécialiste as3, je trouve zarb que ca fasse péter jusqu'aux comparaisons sacahnt que Number est le seul type pour les nb à virgule.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1993738
TotalRecal​l
Posté le 17-05-2010 à 16:04:01  profilanswer
 

Je ne développe pas en AS mais par contre je peux te dire que de façon générale, du fait des erreurs d'approximation sur les flottants liées à la façon dont ils sont mis en oeuvre (cf "IEEE 754" si tu veux en savoir plus), quand tu boucles dessus il vaut effectivement beaucoup mieux tester >= ou <= plutôt que l'égalité pure, qui en réalité ne se produira probablement jamais.
 
Tu peux également utiliser les fonctions d'arrondis de ton langage pour limiter à une décimale.
 
Pour info dans ton exemple ta variable i ne sert absolument à rien, tu pourrais très bien boucler sur i...


---------------
Topic .Net - C# @ Prog

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Bug avec les nombres réels en AS3

 

Sujets relatifs
grands nombres en CBug excel suite a lancement de macros successives
VBA / Excel : Bug étrange ...[Résolu] Bug: le texte est gros aléatoirement...
Bug d'affichage en cssProblème de rotation d'un clip en AS3
[AS3] Supprimer une instance correctementProblème de tri avec des nombres
Problème génération nombres aléatoiresBug sur Internet Explorer
Plus de sujets relatifs à : Bug avec les nombres réels en AS3


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR