You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin标准库是否提供获取最接近可整除数值的函数?

Kotlin标准库相关函数说明

Kotlin标准库中并没有直接提供你定义的closestDivisible(initialValue: Number, divisibleBy: Int)这类函数,用于获取与初始值最接近且能被指定整数整除的数值。

你可以根据需求自行实现该函数,以下是两种常见场景的实现示例:

整数场景实现

fun closestDivisible(initialValue: Number, divisibleBy: Int): Long {
    require(divisibleBy != 0) { "divisibleBy不能为0" }
    val value = initialValue.toLong()
    val remainder = value % divisibleBy
    val absRemainder = remainder.absoluteValue
    return if (absRemainder > divisibleBy / 2) {
        if (remainder > 0) value + (divisibleBy - absRemainder) else value - (divisibleBy - absRemainder)
    } else {
        value - remainder
    }
}

浮点数场景实现

fun closestDivisible(initialValue: Number, divisibleBy: Int): Double {
    require(divisibleBy != 0) { "divisibleBy不能为0" }
    val value = initialValue.toDouble()
    val quotient = value / divisibleBy
    return kotlin.math.round(quotient) * divisibleBy
}

上述实现中加入了对divisibleBy为0的合法性校验,避免运行时异常。你可以根据实际使用的数值类型(整数/浮点数)选择对应的实现,也可以进一步扩展以支持更多类型的适配。

内容的提问来源于stack exchange,提问作者OffeeX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 04:04:56