【问题标题】:How to subtract 2 floats in Kotlin如何在 Kotlin 中减去 2 个浮点数
【发布时间】:2018-08-21 09:30:05
【问题描述】:

我的 Kotlin 应用程序有一个非常奇怪的问题:

14.9 - 12.8 == 2.0999994

我也尝试过:

var1 = 14.9
var2 = 12.8
var1.minus(var2)

但奇怪的是我得到了相同的结果。

如何在 Kotlin 中减去 2 个浮点数并获得一个不错的值,例如在这种情况下为 2.1?

【问题讨论】:

  • 如果数字真的是float类型,结果是OK的。您只能期望大约 6 位小数的准确性。
  • 那些是双而不是浮动的。
  • Blackbelt 我将它们声明为浮动。我将尝试将它们双重投射。谢谢!
  • @Elynad double 仍然会给出与 float 相同的浮点不准确性。您必须使用 BigDecimal 来获得实际精度。

标签: kotlin subtraction


【解决方案1】:

如果您不从事财务计算,则这是一个浮点错误,那么您可以使用

var var1 = 14.9
var var2 = 12.8
var var3 = var1.minus(var2)
println("%.2f".format(var3))

其他尝试 BigDecimal

【讨论】:

  • 不幸的是我不想只打印或显示结果,我还需要用它做一些计算。但我要试试 BigDecimal 的东西,谢谢你的提示!
猜你喜欢
  • 2018-09-13
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
相关资源
最近更新 更多