1、累加int型数据
对于使用BigDecimal的add方法进行相加操作时,累加整型
的数据没有问题,但是当我们累加BigDecimal
类型的数据时,会发现数据并没有进行累加,代码如下:new BigDecimal中放入的是一个int
型数据。
int i = 3;
BigDecimal overdueRateTotal=new BigDecimal(0);
overdueRateTotal = overdueRateTotal.add(new BigDecimal(i));
System.out.println();"overdueRateTotal:"+overdueRateTotal);
这样得出的overdueRateTotal:3
,累加数据没有问题。
2、累加BigDecimal数据
BigDecimal i = new BigDecimal(3.00);
BigDecimal overdueRateTotal=new BigDecimal(0);
overdueRateTotal = overdueRateTotal.add(new BigDecimal(i));
System.out.println();"overdueRateTotal:"+overdueRateTotal);
这样得出的overdueRateTotal:0
,累加数据出问题,应该改为:
BigDecimal i = new BigDecimal(3.00);
BigDecimal overdueRateTotal=new BigDecimal(0);
overdueRateTotal = overdueRateTotal.add(new BigDecimal(i.toString()));
System.out.println();"overdueRateTotal:"+overdueRateTotal);
具体原因暂不知,想知道的看这个https://blog.csdn.net/ugg/article/details/8213666