我正在尝试将Long值转换为Kotlin中的Float。但是,我看到它正在小幅改变值。
这是一个简单的测试运行:

import java.text.DecimalFormat

fun main(args: Array<String>) {
    val l = 1513741500
    val f:Float = l.toFloat()
    val df = DecimalFormat("0")
    println(df.format(f))
}

Output:
1513741440

可以看出,两个值之间存在细微差异。如何确保转换时返回相同的值?

最佳答案

l: Int = 1513741500
f: Float = 1.51374144E9
d: Double = 1.5137415E9

因此,如果您打算使用大量数字,请使用Double而不是Float。

关于kotlin - Kotlin Long与Float的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47907006/

10-12 00:10
查看更多