BigDecimal使用总结

BigDecimal比较建议用compareTo

BigDecimal.setScale()方法实用技巧

scale() 方法用于格式化小数点

  • 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(目前最常用的金额处理方法)
  • setScale(1,BigDecimal.ROUND_HALF_DOWN)
    四舍五入,2.35变成2.3,如果是5则向下舍(6及以上则向上入)

BigDecimal比较建议用compareTo

compareTo()方法在比较时不会引发异常。

BigDecimal b1 = new BigDecimal(0.1);
BigDecimal b2 = new BigDecimal(0.2);
int c = b1.compareTo(b2);  // -1

if(a.compareTo(b) == -1){ System.out.println("a小于b"); }

if(a.compareTo(b) == 0){ System.out.println("a等于b"); }

if(a.compareTo(b) == 1){ System.out.println("a大于b"); }

if(a.compareTo(b) > -1){ System.out.println("a大于等于b"); }

if(a.compareTo(b) < 1){ System.out.println("a小于等于b"); }
 
c=1表示b1大于b2
c=0表示b1等于b2
c=-1表示b1小于b2
c!=-1 表示 b1大于等于b2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值