在 Kotlin 中将 Float 值转换为没有小数点的字符串的最惯用方法

Most idiomatic way to convert a Float value to a string without a decimal point in Kotlin

我想将 Float 值转换为 String,但没有小数点。例如,对于以下代码:

fun toDecimalString(value: Float): String {
     // TODO
}

fun main() {
    println("Result: ${toDecimalString(1.0f)}") 
    println("Result: ${toDecimalString(1.999999f)}")
    println("Result: ${toDecimalString(20.5f)}")
}

我希望预期输出为:

1
1
20

正如@Tenfour04所说,答案是首先使用.toInt()转换为整数,只保留小数点左边的数字,然后使用.toString()转换为字符串.

.toInt().toString()

通过在将输入转换为字符串之前转换为 Int,所有小数点值都会被删除,例如:

fun toDecimalString(value: Float): String = "${value.toInt()}"