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