Bonjour,
j'utilise dans mon application bigdecimal pour avoir le maxi de précision. Mais en fait j'ai eu une perte de précision dans les calculs. Par exemple :
Ce code affiche 0.9999.. alors que le résultat doit être 1. Avec double et floot ça donne 1. J'ai essayé tous les types d'arrondissement mais sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 BigDecimal b1 = new BigDecimal(1); BigDecimal b2 = b1.divide(new BigDecimal(3),20,BigDecimal.ROUND_HALF_UP); System.out.println(b2.multiply(new BigDecimal(3)));
Partager