J'effectue une simple multiplication avec BigDecimal et j'ai constaté un comportement étrange lors de la multiplication par zéro (la multiplication par zéro est correcte dans ce cas d'utilisation).
Les mathématiques de base me disent que tout ce qui est multiplié par zéro est égal à zéro (voir : Propriété du produit zéro y Propriétés de la multiplication )
Cependant, le code suivant échouera systématiquement avec la même erreur :
assertEquals(new BigDecimal(0), new BigDecimal(22.3).multiply(new BigDecimal(0)));
java.lang.AssertionError: Expected :0 Actual :0E-48
S'agit-il d'une imprécision de BigDecimal ou d'une branche spécialisée des mathématiques qui m'échappe ?
Notes : JDK 1.6.0_27 fonctionnant dans IntelliJ 11