我来告诉你原因吧
up=四舍五入
down=五会舍去,大于5就入
然后你程序是错的
BigDecimal a = new BigDecimal(1.525);
BigDecimal b = new BigDecimal(-1.525);
System.out.println(a);
System.out.println(b);
new BigDecimal最好用string,你直接写数字的话,结果不是你想要的,以上程序,结果是:
1.524999999999999911182158029987476766109466552734375
-1.524999999999999911182158029987476766109466552734375
浮点数是不精确的
分给我吧