在BigDecimal中,负的刻度通常被用来表示小数点右侧的位数。这意味着当调用setScale(n, RoundingMode.DOWN)时,结果将截断到小数点右侧n位。
但是,当负的刻度被使用时,它表示在小数点左侧的位数。如果调用setScale(-n, RoundingMode.DOWN),结果将向左移动小数点n位。
例如,假设有一个BigDecimal对象,它的值是123.456,如果调用setScale(-2, RoundingMode.DOWN),结果将是12300.0。
代码示例:
BigDecimal number = new BigDecimal("123.456"); BigDecimal result = number.setScale(-2, RoundingMode.DOWN); System.out.println(result); // 打印结果为:12300.0