new BigDecimal(“12.7895”).setScale(2).doubleValue();
会抛出异常
Exception in thread “main” java.lang.ArithmeticException: Rounding necessary
at java.base/java.math.BigDecimal.commonNeedIncrement(BigDecimal.java:4501)
at java.base/java.math.BigDecimal.needIncrement(BigDecimal.java:4557)
at java.base/java.math.BigDecimal.divideAndRound(BigDecimal.java:4465)
at java.base/java.math.BigDecimal.setScale(BigDecimal.java:2799)
at java.base/java.math.BigDecimal.setScale(BigDecimal.java:2859)
开始打算用BigDecimal截取数据处理不加上处理的规则,但是发现BigDecimal在处理多位数时,截取必须加上规则,否则无法使用。