关键词搜索

源码搜索 ×
×

(Java)BigDecimal 类

发布2020-02-03浏览391次

详情内容

对于不需要任何准确计算准确精度的数字可以直接使用 float 或 double,但是如果需要精确计算的结果,则必须使用 BigDecimal 类,而且使用 BigDecimal 类也可以进行大数的操作
在这里插入图片描述

import java.math.BigDecimal;

class MyMath{
    public static double add(double d1,double d2){
        BigDecimal b1 = new BigDecimal(d1);
        BigDecimal b2 = new BigDecimal(d2);
        return b1.add(b2).doubleValue();
    }
    public static double sub(double d1,double d2){
        BigDecimal b1 = new BigDecimal(d1);
        BigDecimal b2 = new BigDecimal(d2);
        return b1.subtract(b2).doubleValue();
    }
    public static double round(double d,int len){//进行四舍五入操作
        BigDecimal b1 = new BigDecimal(d);
        BigDecimal b2 = new BigDecimal(1);
        //任何一个数字除以1都是原数字
        //ROUND_HALF_UP是BigDecimal的一个常量,表示四舍五入的操作
        return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue();
    }
}
public class Test{
    public static void main(String[] args) {
        System.out.println("加法运算:" + MyMath.round(MyMath.add(10.345,3.333),1));
        System.out.println("减法运算:" + MyMath.round(MyMath.sub(10.345,3.333),3));
    }
}

    在这里插入图片描述
    这里最重要的就是 round 方法,此处的四舍五入操作实际上是用 divide 方法实现的,因为只有此方法才可以指定小数点之后的位数,而且任何一个数字除以1都是原数字。

    其他方法可参考

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载