在日常开发中,我们基本上都是用BigDecimal
类型来处理金额,防止精度丢失。
使用BigDecimal
做除法时,如果出现除不尽的情况,系统就会报错
之所以出现这个问题,是因为除法除不尽时,BigDecimal
不知道如何处理了,因此,使用BigDecimal
做除法时,我们需要指定结果的精度及四舍五入的方式。
BigDecimal bigDecimalThree = new BigDecimal("3");
BigDecimal newBigDecimal = BigDecimal.ONE.divide(bigDecimalThree, 1, RoundingMode.HALF_EVEN);
System.out.println(newBigDecimal);
评论 (0)