在Java中,BigDecimal 提供了多种舍去方式,主要通过 setScale 方法来实现。以下是常见的舍去方式:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal bd = new BigDecimal("2.675");
// ROUND_HALF_UP
BigDecimal roundedHalfUp = bd.setScale(2, RoundingMode.HALF_UP);
System.out.println("ROUND_HALF_UP: " + roundedHalfUp); // 2.68
// ROUND_HALF_DOWN
BigDecimal roundedHalfDown = bd.setScale(2, RoundingMode.HALF_DOWN);
System.out.println("ROUND_HALF_DOWN: " + roundedHalfDown); // 2.67
// ROUND_HALF_EVEN
BigDecimal roundedHalfEven = bd.setScale(2, RoundingMode.HALF_EVEN);
System.out.println("ROUND_HALF_EVEN: " + roundedHalfEven); // 2.68
}
}