0

可能重复:
Java 浮点数学 - (英尺/米的转换)
Java 浮点算术

我在java中遇到了以下问题。

这个计算 ( 0.196f * 100) 产生19.599999487400055而不是19.6

我很困惑。谁能告诉我为什么我会得到这个奇怪的结果,以及如何确保我得到正确的结果,而不必到处四舍五入污染我的代码。

还有什么其他jvm语言可以更好地处理这些问题?例如,scala 会有什么不同吗?

4

1 回答 1

0

正如评论已经指出的那样,浮点数总是受到不准确的影响。double受到的影响较小,但它仍然受此影响,因此您必须处理它们。

如果您想使用精确计算BigDecimal,尽管您不能使用运算符。

于 2011-11-08T17:04:16.187 回答