J'ai expérimenté ce qui ne va pas avec float et double types, en Java System.out.print (1-.6) imprime .4 et le résultat est un peu inattendu (0.30000000000000004) en cas de System.out.print (1-.7). Il serait utile que quelqu'un puisse me diriger vers des ressources qui expliquent pourquoi cela se produit. Je suppose que ce n'est pas spécifique à Java son quelque chose de fondamentalement faux avec ces types.Float et Double pour les valeurs monétaires
Merci!
http://docs.sun.com/source/806-3568/ncg_goldberg.html –
http://stackoverflow.com/questions/285680/representing-monetary-values-in-java donne la meilleure recommandation. Utilisez BigDecimal. –
Je trouve que c'est une source d'amusement constant que, sur les 1 123 061 questions actuellement sur SO, 67% d'entre elles concernent des inexactitudes à virgule flottante :-) – paxdiablo