某些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的存在而引發的問題。 –