Глядя на ответы @ sjtai и @ cdeszaq, вам не нужно смешиваться с mixin, если вы просто определите метод, подобный следующему:
def bigDecimalRound(n,decimals){
return(n.setScale(decimals, BigDecimal.ROUND_HALF_UP))
}
Это встроенный метод BigDecimal
setScale
который выполняет округление.
println(1.2334695.setScale(2, BigDecimal.ROUND_HALF_UP))
>> 1.23
Стоит также отметить, что setScale принимает отрицательные аргументы для округления вещей до большего порядка, т.е.
println(123.2334695.setScale(-1, BigDecimal.ROUND_HALF_UP))
>> 1.2E+2