BigDecimal bDec = new BigDecimal("3.1415926");
        int scale = 3;
        bDec = bDec.setScale(scale,BigDecimal.ROUND_HALF_EVEN);
        System.out.println(bDec);详细信息参考BigDecimal

解决方案 »

  1.   

    import java.math.BigDecimal;public class TestBigDecimal{
    public static void main(String[] args){
    BigDecimal bd = new BigDecimal(3.1415926);

    System.out.println(bd);
    System.out.println(bd.setScale(5,BigDecimal.ROUND_HALF_EVEN));
    System.out.println(bd.setScale(3,BigDecimal.ROUND_HALF_UP));
    System.out.println(bd.setScale(3,BigDecimal.ROUND_HALF_UP));
    }
    }呵呵,似乎Java也有错误,UP和UDOWN的结果是一样的。