java 四舍五入保留两位小数

版权声明: https://blog.csdn.net/weixin_39823527/article/details/82385847

写 项目时遇到,从后台传来字符串格式的参数进行乘法计算。将其结果四舍五入保留两位小数,写了个方法

主要用到 java.math.BigDecimal这个类

/**
     * 
     * @param js  缴费基数
     * @param rate 缴费比例
     * @return  
     */
    private static double payMoney(String js,String rate){
        double _js = Double.parseDouble(js);
        double _rate = Double.parseDouble(rate);
        double pmoney =_js*_rate;
        BigDecimal b = new BigDecimal(pmoney);
        double rmoney = b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();
        return rmoney;
    }

其中 :

        ROUND_HALF_UP   表示四舍五入

      2 表示保留两位小数

参见 api

public BigDecimal setScale(int newScale,
                           RoundingMode roundingMode)

参数:

newScale - 要返回的 BigDecimal 值的标度。

roundingMode - 要应用的舍入模式。

抛出:

ArithmeticException - 如果 roundingMode==UNNECESSARY,并且指定的标度操作要求进行舍入。

扫描二维码关注公众号,回复: 4304291 查看本文章

从以下版本开始:

1.5

猜你喜欢

转载自blog.csdn.net/weixin_39823527/article/details/82385847
今日推荐