Problème de précision avec BigDecimal
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 :
Code:
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))); |
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.