如何在Kotlin中减去2个浮点数

如何在Kotlin中减去2个浮点数,kotlin,subtraction,Kotlin,Subtraction,我的Kotlin应用程序中有一个非常奇怪的问题: 14.9 - 12.8 == 2.0999994 我还试着做: var1 = 14.9 var2 = 12.8 var1.minus(var2) 但我奇怪地得到了同样的结果 如何在Kotlin中减去2个浮点数并得到一个合适的值,如本例中的2.1?这是一个浮点错误,如果您不参与财务计算,则可以使用 var var1 = 14.9 var var2 = 12.8 var var3 = var1.minus(var2) println("%.2f"

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

14.9 - 12.8 == 2.0999994
我还试着做:

var1 = 14.9
var2 = 12.8
var1.minus(var2)
但我奇怪地得到了同样的结果


如何在Kotlin中减去2个浮点数并得到一个合适的值,如本例中的2.1?

这是一个浮点错误,如果您不参与财务计算,则可以使用

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

否则,请尝试BigDecimal

可能的重复。如果数字确实是float类型,则结果正常。您只能期望大约6位十进制数字的精度。这些是双精度的而不是浮点型的。黑带我声明它们是浮点型的。我要试着把他们分为两组。谢谢@Elynad
double
仍将给出与
float
相同的浮点精度。您必须使用
BigDecimal
来获得实际精度。不幸的是,我不想只打印或显示结果,我还需要使用它进行一些计算。但是我要试试大十进制的东西,谢谢你的提示!