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()

猜你喜欢

转载自www.cnblogs.com/zhouhao666/p/9994926.html