标签: ruby floating-point
有人可以向我解释原因:
33.8 * 100 # => 3379.999999999995
但
23.8 * 100 # => 2380.0
答案 0 :(得分:4)
浮点数不能精确地表示所有实数,并且浮点运算不能精确地表示真正的算术运算,这会导致许多令人惊讶的情况。
我建议阅读:https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems
您可能希望使用BigDecimal来避免此类问题。