import java.math.BigDecimal;
import java.math.RoundingMode;
public class RoundingModeExample {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("123.456");
// 向下取整
System.out.println("FLOOR: " + number.setScale(2, RoundingMode.FLOOR));
// 向上取整
System.out.println("CEILING: " + number.setScale(2, RoundingMode.CEILING));
// 四舍五入
System.out.println("HALF_UP: " + number.setScale(2, RoundingMode.HALF_UP));
// 向零取整
System.out.println("DOWN: " + number.setScale(2, RoundingMode.DOWN));
// 远离零的方向取整
System.out.println("UP: " + number.setScale(2, RoundingMode.UP));
// 舍去多余的小数位
System.out.println("UNNECESSARY: " + number.setScale(2, RoundingMode.UNNECESSARY));
// 向偶数舍入
System.out.println("HALF_EVEN: " + number.setScale(2, RoundingMode.HALF_EVEN));
// 向零方向舍入,但精度不足时抛异常
try {
System.out.println("UNNECESSARY with non-terminating decimal: " +
new BigDecimal("123.456").setScale(2, RoundingMode.UNNECESSARY));
} catch (ArithmeticException e) {
System.out.println("ArithmeticException: " + e.getMessage());
}
}
}
ArithmeticException 异常,表示不需要舍入。通过这些不同的舍入模式,可以根据具体需求选择最合适的舍入方式。
下一篇:java set 遍历
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站