美文网首页
关于BigDecimal

关于BigDecimal

作者: 任笙_8b8c | 来源:发表于2021-06-23 15:21 被阅读0次

    使用double和float计算时会造成精度丢失的问题 要进行计算要用BigDecimal
    Bigdecimal a =new Bigdecimal(1);
    Bigdecimal b =new Bigdecimal(1);
    加法 a.add(b)
    减法 a.subtract(b)
    乘法 a.multiply(b)
    除法 a.divide(b)

    BigDecimal.setScale()方法用于格式化小数点
    setScale(1)表示保留一位小数,默认用四舍五入方式
    setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
    setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
    setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4

    setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍

    setScaler(1,BigDecimal.ROUND_CEILING)接近正无穷大的舍入

    setScaler(1,BigDecimal.ROUND_FLOOR)接近负无穷大的舍入,数字>0和ROUND_UP作用一样,数字<0和ROU

    对于a.compareTo(b)方法:
    a<b, 返回-1

    a=b,返回0

    a>b, 返回1

    相关文章

      网友评论

          本文标题:关于BigDecimal

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