标签: ruby
我得到了这个结果:
8.01 - 8.0 #=> 0.009999999999999787
我希望我的回答是0.01。我该怎么做才能解决这个问题?我怎么能让这件事发生?我想这是浮动数学。这是由于浮点精度?
0.01
答案 0 :(得分:5)
您可以使用Ruby的任意精度十进制数据类型BigDecimal:
BigDecimal
BigDecimal.new("8.01") - BigDecimal.new("8") # => 0.1e-1