Kotlin长期浮动差异

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

import java.text.DecimalFormat fun main(args: Array) { 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 

所以如果你打算使用大数字,而不是使用浮点数。