因为setScale方法里面会新建BigDecimal对象设置scale属性而不是修改当前对象的scale属性,改成下面试试  BigDecimal bigDecimal = new BigDecimal("10.5678").setScale(2,BigDecimal.ROUND_HALF_UP);
    System.out.println(bigDecimal.doubleValue());//10.57
    System.out.println("**************************************");
    bigDecimal = new BigDecimal("10.5678");
    bigDecimal = bigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
    System.out.println(bigDecimal.doubleValue());//10.5678