Нет, это невозможно. operator div
должен иметь Int
в качестве получателя.
Вы также не можете добавить RoundingMode
в качестве приемника, поскольку может быть только однофункциональный приемник.
Однако вы можете использовать Pair<RoundingMode, Int>
в качестве получателя:
operator fun Pair<RoundingMode, Int>.div(i: Int): BigDecimal =
BigDecimal.valueOf(second.toLong()).divide(BigDecimal.valueOf(i.toLong()), first)
with(RoundingMode.CEILING) {
println((this to 1) / 2) // => 1
}