Со следующим кодом:
BigDecimal x = new BigDecimal("34.5678");
BigDecimal a = x.movePointRight(3);
BigDecimal b = x.scaleByPowerOfTen(3);
BigDecimal c = x.movePointRight(-3);
BigDecimal d = x.scaleByPowerOfTen(-3);
a и b равны как 34567.8, так и c и d равны 0.0345678.
a.scale() и b.scale равны 1 и c.scale(), а d.scale() равны как 7.
В каких обстоятельствах эти два метода дают разные результаты?