BigDecimal的一些易错点

一、BigDecimal中使用除法时要注意,除数不能为0.1这种类似的无限小数,除不尽会报错的
  new BigDecimal("9.01102680").divide(new BigDecimal("1.01"));
二、BigDecimal中比较和0的大小时有两种方法,使用equals时,0.00和0是不相等的
        BigDecimal b1 = new BigDecimal("0");
BigDecimal b2 = new BigDecimal("0.00");
System.out.println(b1.equals(BigDecimal.ZERO));
System.out.println(b2.equals(BigDecimal.ZERO));
System.out.println(b1.compareTo(BigDecimal.ZERO)==0);
System.out.println(b2.compareTo(BigDecimal.ZERO)==0);
三、运算之后需要重新赋值,不然结果会丢失
        b1.add(b2).add(new BigDecimal("0.01"));
System.out.println(b1.toString());
posted @ 2019-09-06 14:36  helloworldmybokeyuan  阅读(420)  评论(0)    收藏  举报