网站导航的分类有哪些,中信建设有限责任公司官方网站,网上购物网站的设计与实现,网站建设服务器什么意思我们在进行A除B的时候#xff0c;需要将四舍五入的逻辑放入除法的过程中就定义#xff0c;不要等到A/B结果出来了再去进行四舍五入#xff0c;这样会出现问题。下面举例
10%3
我们拿10除3为例#xff0c;很明显#xff0c;结果是一个除不尽的小数3.3333…
直接除 publi…我们在进行A除B的时候需要将四舍五入的逻辑放入除法的过程中就定义不要等到A/B结果出来了再去进行四舍五入这样会出现问题。下面举例
10%3
我们拿10除3为例很明显结果是一个除不尽的小数3.3333…
直接除 public static void main(String[] args) {BigDecimal A new BigDecimal(10);BigDecimal B new BigDecimal(3);System.out.println(A.divide(B).setScale(2, RoundingMode.HALF_UP));}结果报错Exception in thread main java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 表示没有精确的表示decimal结果异常在除法计算的过程中就抛出了所以都没走到setScale()方法
正确的方式 public static void main(String[] args) {BigDecimal A new BigDecimal(10);BigDecimal B new BigDecimal(3);System.out.println(A.divide(B, 2, RoundingMode.HALF_UP));}结果为3.33正确的保留两位小数和四舍五入了这是在除法计算的过程中就执行了的。