Salut salut,
J'ai constaté un truc assez relou, les float, double, BigDecimal et certainement beaucoup d'autres sont parasités....
Testez chez vous :
Voilà le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 float f = 0.0f; for(int i = 0; i < 1001; i++) { System.out.println(i + " - " + f); f += 0.001f; }
Évidement utiliser des chiffres pour avoir des résultats imprécis n'est pas trop intéressant... Quelqu'un a une solution pour conserver des résultat précis ?0 - 0.0
1 - 0.001
2 - 0.002
3 - 0.003
4 - 0.004
5 - 0.0050000004
6 - 0.0060000005
7 - 0.0070000007
8 - 0.008
9 - 0.009000001
10 - 0.010000001
...
474 - 0.47399744
475 - 0.47499743
476 - 0.47599742
477 - 0.4769974
478 - 0.4779974
479 - 0.47899738
480 - 0.47999737
481 - 0.48099735
...
990 - 0.98999083
991 - 0.9909908
992 - 0.9919908
993 - 0.9929908
994 - 0.9939908
995 - 0.99499077
996 - 0.99599075
997 - 0.99699074
998 - 0.9979907
999 - 0.9989907
1000 - 0.9999907
En fait c'est += qui est du pipo...
Merci de votre aide.
Partager