J'écrivais quelques convertisseurs d'unités en utilisant BigDecimals et je suis tombé sur une situation où je devais multiplier un nombre avec une fraction - nombre périodique.
Dans la plupart des cas, la précision est suffisante, mais disons que nous avons une équation du type :
BigDecimal.valueOf(90)
.multiply(BigDecimal.valueOf(10)
.divide(BigDecimal.valueOf(90), 6, RoundingMode.HALF_UP))
Normalement, cela devrait être égal à 10, mais à cause de l'arrondi, nous obtiendrons 9.999999...
Existe-t-il une manière élégante d'implémenter ceci sans avoir une condition if détectant quand la fraction peut être coupée ?