double 计算时精度损失

计算double类型的数时有时候会多出0.000000001,会有不确定个数的0,在计算时将其转为BigDecimal就不会出错。

BigDecimal sum = new BigDecimal(0.0);                

BigDecimal tmp = new BigDecimal(0.0);             
for(int i=0; i<list.size(); i++){                    

	tmp = new BigDecimal(list.get(i).get("AMOUNT").toString()); 
	
	sum = sum.add(tmp);               

}                

sum.doubleValue();

你可能感兴趣的:(bug汇总)