Kotlin中按百分比计算指定基准数值对应结果报错如何解决
报错原因
Kotlin 语法中没有「数值后加%表示百分比」的用法,%在Kotlin中是取余运算符,仅支持两个运算数之间的取余操作(例如10 % 3的结果为1),直接写75%会触发语法错误。
正确实现方式
你可以选择以下任意一种方案实现百分比计算逻辑:
- 方案1:直接转换为小数运算
把百分比数值除以100转成小数后再与基准值相乘,写法最简单:
// 75% 对应 0.75 val result1 = 10 * 0.75 // 计算结果为7.5 val result2 = 20 * 0.75 // 计算结果为15.0
- 方案2:封装扩展函数更易用
如果需要经常做百分比计算,可以封装扩展函数提升可读性:
// 定义百分比计算扩展函数 fun Int.percentOf(baseValue: Number): Double { return baseValue.toDouble() * this / 100.0 } // 调用示例 val result1 = 75.percentOf(10) // 7.5 val result2 = 75.percentOf(20) // 15.0
如果想要更符合口语习惯的调用方式,可以用中缀函数实现:
// 定义中缀函数 infix fun Int.percentOf(baseValue: Number) = baseValue.toDouble() * this / 100.0 // 调用示例 val result1 = 75 percentOf 10 // 7.5 val result2 = 75 percentOf 20 // 15.0
内容的提问来源于stack exchange,提问作者Compose Learner
相关产品推荐
相关产品推荐

