乘以100

时间:2015-09-14 14:55:59

标签: ruby floating-point

有人可以向我解释原因:

33.8 * 100 # => 3379.999999999995

23.8 * 100 # => 2380.0

1 个答案:

答案 0 :(得分:4)

浮点数不能精确地表示所有实数,并且浮点运算不能精确地表示真正的算术运算,这会导致许多令人惊讶的情况。

我建议阅读:https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems

您可能希望使用BigDecimal来避免此类问题。