Со следующим кодом:
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.
В каких обстоятельствах эти два метода дают разные результаты?