java 四舍五入保留两位小数

介绍了一种使用Java进行精确的浮点数运算的方法,通过BigDecimal类实现字符串格式参数的乘法计算并四舍五入保留两位小数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

主要用到 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值