java 四舍五入保留两位小数

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

主要用到 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,并且指定的标度操作要求进行舍入。

从以下版本开始:

1.5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值