Kotlin负模块返回负值

Kotlin中,我已经看到函数a.mod(n)如果a是负数,结果是负数。 这不是什么modulo要做。 我能做些什么总是积极的模数?

例如:

 (-2).mod(9) 

返回-2 ,应该是7

在版本kotlin 1.1中, mod被弃用,因为它正在计算除法的其余部分,这可能是负面的。 这就是为什么他们改为rem ,更类似于其function的名称。 如果你想在Kotlin和大多数语言中使用模函数,你可以使用这个:

 r = (a).rem(n) if (r < 0) r += n