首页 > 学院 > 开发设计 > 正文

使用BigDecimal处理两个double数相减2.0-1.1 = 0.89999999999999999...误差

2019-11-06 07:42:40
字体:
来源:转载
供稿:网友
    public double getSubtotal(){        /*         * 使用BigDecimal不会有误差         * 要求必须使用String类型         * 如果两个double数相减2.0-1.1 = 0.89999999999999999...         * 经过BigDecimal处理就是2.0-1.1=0.9         */        BigDecimal b1 = new BigDecimal(book.getCurrPRice()+"");        BigDecimal b2 = new BigDecimal(quantity+"");        BigDecimal b3 = b1.multiply(b2);//b1*b2        return b3.doubleValue();    }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表