如何在 Kotlin 语法中计算百分比?

Abd*_*een 11 math android kotlin

我需要在 kotlin 中计算百分比,但我无法做到。请帮助我在 Kotlin 中使用正确的语法。这是我尝试过但未能得到正确答案的内容。

                    var percentage = (count/totalCount) * 100
            it.toast("Percentage: $percentage")
Run Code Online (Sandbox Code Playgroud)

请用 kotlin 中的正确语法指导我。

Rob*_*sen 31

您很可能正在为以下事实而苦苦挣扎:对两个整数应用除法运算符将导致执行整数除法,从而产生整数结果。

技巧是将操作数之一提升为浮点类型:

var percentage = (count.toDouble() / totalCount) * 100
Run Code Online (Sandbox Code Playgroud)

  • 转换回 Int() (3认同)

v.d*_*v.d 7

这是一个可以在任何地方执行此操作的扩展函数:

fun Int.divideToPercent(divideTo: Int): Int {
        return if (divideTo == 0) 0
        else (this / divideTo.toFloat() * 100).toInt()
}
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

val pecent = 10.divideToPercent(20)
Run Code Online (Sandbox Code Playgroud)

将会percent是50。

您甚至可以将其设为中缀函数:

infix fun Int.percentOf(value: Int): Int {
        return if (this == 0) 0
        else (value / this.toFloat()).toInt()
}
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

val pecent = 10 percentOf 200
Run Code Online (Sandbox Code Playgroud)

将会percent是20