Kotlin toFloat 函数舍入问题



其中一个库只接受浮点值,所以我正在尝试使用 toFloat(( 函数将整数值转换为 kotlin 中的浮点值。但它给出的是最近的值,而不是确切的值。官方文件还说

以 Float 形式返回此数字的值,这可能涉及舍入。

我正在尝试将105312355转换为 Float,这给了我 1.05312352E8。如果我反向计算浮点数为整数,它会给我105312352。

那么,我如何强制计算正确的值。

浮点的本质是,与相同大小的 Int 相比,它可以以牺牲精度为代价来表达更广泛的值。

只有双精度(而不是浮点(才能保持 Int 的全部精度。

最新更新