JAVA BigDecimal 类(四舍五入保留2位小数)

需要掌握:JAVA BigDecimal 类

四舍五入保留2位小数

public BigDecimal setScale(int newScale, int roundingMode)

参数:

  • newScale:保留的小数位数
  • roundingMode:有以下取值:
    • ROUND_CEILING:向正无穷方向舍入
    • ROUND_DOWN:向零方向舍入
    • ROUND_FLOOR:向负无穷方向舍入
    • ROUND_HALF_DOWN:向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5
    • ROUND_HALF_EVEN:向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN
    • ROUND_HALF_UP:向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6
    • ROUND_UNNECESSARY:计算结果是精确的,不需要舍入模式
    • ROUND_UP:向远离0的方向舍入

例子

double f = 1.125;
BigDecimal decimal = new BigDecimal(String.valueOf(f));
System.out.println(decimal);
double res = decimal.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(res);

参考:https://blog.csdn.net/seeseeyoua/article/details/114575869


原文出处:/show_1IX3wl7PPQ2H.html