Я пытаюсь округлить BigDecimals следующим образом: 5.46597 -> 5.46, я думал, что код ниже делает это для меня, но нет.
Я пробовал это с BigDecimal.round и BigDecimal.setScale.
BigDecimal bD = new BigDecimal(5.46597); // whole number: 5.4659700000000004393996277940459549427032470703125
bD.setScale(2, RoundingMode.HALF_DOWN); // 5.47
bD.round(new MathContext(3, RoundingMode.HALF_DOWN)); // 5.47
Разве это не должно быть 5,46, или что я неправильно понял?