我需要将像1.4549999999999998这样的数字舍入到1.46。我正在使用Groovy编写并使用以下方法。
def roundBigDecimal(bd_val, scale, roundingMode) {
assert bd_val instanceof BigDecimal
return new BigDecimal(bd_val).setScale(scale, roundingMode)
}
然而,当我尝试: roundBigDecimal(1.4549999999999998,2,BigDecimal.ROUND_HALF_UP),我回来1.45。
答案 0 :(得分:0)
ROUND_HALF_UP
@Deprecated(因为=" 9&#34)
改为使用RoundingMode.HALF_UP。
自Java 9以来,该方法已被弃用,解决方法是调用setScale(int, RoundingMode)
方法:
roundBigDecimal(1.4549999999999998, 2, RoundingMode.HALF_UP)