在以前的学习中经常会涉及到小数取整的问题,什么样的精度才能最准确?
1、精度之所以会出现误差是因为机器是通过二进制计算,有些数字在转成二进制的时候会出现误差
2、解决办法就是用到 java.math.BigDecimal
3、实例:
// 解决精度丢失问题(lg:19.65)
Double db = Double.valueOf(df.format(totalFee));
Double fee= new BigDecimal(db.toString()).multiply(new BigDecimal("100")).doubleValue();
int m = 0 - fee.intValue();