美文网首页
关于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