首页 > 解决方案 > Kotlin 乘法返回错误的结果

问题描述

大家好,我在 kotlin 中的乘法计算有问题。下面我附上代码,预期结果是69103085.89

即使我删除.toBigDecimal()功能也会发生这种情况。如何解决这个问题?

在此处输入图像描述

标签: androidkotlin

解决方案


发生这种情况是因为您声明了一个 double, 8875.87然后将其转换为 BigDecimal。没有精确的双精度浮点表示,8875.87因此在您调用toBigDecimal.

为了保持精度,您需要将值BigDecimal作为字符串传递给构造函数:

val a = BigDecimal("8875.87")
val b = BigDecimal("778.55")
println("${a*b}")

推荐阅读