某些BigDecimal
值可以与Rspec3中的eq
Float
比较,但有些值不能。某些`BigDecimal`值与`Float`不匹配
describe "compare BigDecimal with Float" do
it { expect("83.79".to_d).to eq(83.79) } # => fail
it { expect("83.75".to_d).to eq(83.75) } # => succeed
end
为避免错误,我使用的表达式如eq("83.79".to_d)
。
为什么第一次测试失败而第二次测试成功?
这不是规范[“浮点已损坏”](http:// stackoverflow。com/q/588004/479863)由于Ruby的BigDecimal和RSpec的存在而引发的问题。 –