double   f   =   111231.5585;  
BigDecimal   b   =   new   BigDecimal(f);  
double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();我用这个方法来保留小数。当为2时结果是111231.56
当为1时,结果为111231.6
当为3时结果是:111231.558(按照四舍五入是不是应该是111231.559)为什么会这样?