BigDecimal使用详解

作者: 此生唯一自传 | 来源:发表于2019-03-19 16:07 被阅读2次
       我们知道商业级运算是肯定不能用double/float的,精确运算需要用到BigDecimal来处理,下面介绍BigDecimal的使用方法
    

    一、构造方法
    BigDecimal的构造方法有很多种,大家最常用的如下方式:
    BigDecimal bd1=new BigDecimal(10);
    BigDecimal bd2=new BigDecimal("10");

    二、四则预算
    加法:bigDecimal1.add(bigDecimal2);
    减法:bigDecimal1.subtract(bigDecimal2);
    乘法:bigDecimal1.multiply(bigDecimal2);
    除法:bigDecimal1.divide(bigDecimal2);

    三、对小数的处理

    (1).DecimalFormat类
    例:
    DecimalFormat df =new DecimalFormat("#.00");
    df.format(3.1415926);
    结果输出3.14

    .00 表示两位小数 #.000三位小数......

    (2)setScale方法
    double f = 111231.5585;
    BigDecimal b = new BigDecimal(f);
    double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留2位小数

    image.png

    四、比较大小
    BigDecimal比较大小不能使用equals因为不仅比较值还比较精度
    这里使用BigDecimal自带方法compareTo
    例:
    BigDecimal a = new BigDecimal("1.00");
    BigDecmial b = new BigDecimal(1);
    a.compareTo(b)==0结果是true
    这里返回值含义: -1小于 0等于 1大于

    相关文章

      网友评论

        本文标题:BigDecimal使用详解

        本文链接:https://www.haomeiwen.com/subject/uszgmqtx.html