zl程序教程

您现在的位置是:首页 >  后端

当前栏目

BigDecimal.ROUND_UP 如果 从 double 到 Decimal 有异常, 必须从double到String然后 Decimal 就可以了

异常 string 可以 必须 round 如果 Up 然后
2023-09-14 09:02:30 时间

 

比如:

//先把double==>string==>BigDecimal;直接 double==>BigDecimal 异常比如9.9
BigDecimal decimalRate = new BigDecimal(String.valueOf(lowestDiscountRate)).setScale(1, BigDecimal.ROUND_UP);
BigDecimal.ROUND_UP 是直接进位 比如2.21==》保留一位 2.3


举个栗子:
  double dd=9.9d;
        BigDecimal f1 = new BigDecimal(dd).setScale(1, BigDecimal.ROUND_UP);
        System.out.println(f1); //10.0
        BigDecimal decimalRate = new BigDecimal(String.valueOf(dd)).setScale(1, BigDecimal.ROUND_UP);

        System.out.println(decimalRate);//9.9

结果:

10.0
9.9