使用java.math.BigDecimal类的setScale方法可以设置任意方式的舍入。
方法声明:
public BigDecimal setScale(int newScale, RoundingMode roundingMode)
- newScale: 设置新标度值(scale)为newScale;
- roundingMode: 设置舍入模式,RoundingMode.HALF_UP表示按照四舍五入的模式舍入;
- 标度(scale):如果是0或者正数,scale即小数点右边的位数;如果是负数,BigDecimal对象代表的值可表示为(unscaledValue × 10 − s c a l e ^{-scale} −scale)。
例子:
double num = 6.66789d; num = new BigDecimal(num).setScale(1, RoundingMode.HALF_UP).doublevalue();
输出:
num = 6.7



