BigDecimal转long丢失精度问题

    public static void main(String[] args) {
        BigDecimal asdBigDecimal = new BigDecimal(56.33347);
        long sad = asdBigDecimal.longValue();
        double asda = asdBigDecimal.doubleValue();
        System.out.println(sad);
        System.out.println(asda);
    }

运行结果:

56
56.33347

而且BigDecimal.longValue()还会自动四舍五入,不想舍去小数点的朋友要用doubleValue()

posted @ 2018-11-21 14:38  昊Zz  阅读(1065)  评论(0编辑  收藏  举报