Après une série de calculs dans mon code, j'ai un BigDecimal
avec une valeur 0.01954
J'ai ensuite besoin de multiplier ce BigDecimal
par 100
et je souhaite que la valeur calculée soit 1.95
Je ne souhaite pas effectuer d'arrondi vers le haut ou vers le bas, je veux juste que les valeurs au-delà de deux décimales soient tronquées
J'ai essayé de mettre l'échelle à 2, mais j'ai reçu un ArithmeticException
disant que l'arrondi est nécessaire. Comment définir l'échelle sans spécifier d'arrondi?
Utilisez soit RoundingMode.DOWN ou RoundingMode.FLOOR .
BigDecimal newValue = myBigDecimal.setScale(2, RoundingMode.DOWN);
Utilisez la substitution setScale qui inclut RoundingMode:
value.setScale(2, RoundingMode.DOWN);