私は現在、請求書のある仕事用のイントラネットを構築しています。私は現在、VATが正しく合計されることなどを確認するためのテストを書いています。
ある量では、Rails/Rubyが必要以上に正確であるように見えることに気づきました。私はこれを取得します:expected there to be content "2586.6099999999997"
。099999999997
いつあるべきか注意してください1
。
私のDB移行ファイルにはこれがあります-t.decimal :price, :precision => 8, :scale => 2
私のテストでは、2つの値を合計しようとしているだけで、合計949
してはいけません。1637.61
2586.61
2586.60999...
何が問題になるのでしょうか?
Decimalを使用する必要がありますか、それともintegerを使用する必要がありますか?
編集:スペックコードは基本的にこれだけpage.should have_content(item1.price + 1637.61)
です。item1はFactoryGirlを使用しています。
このように手動で949または949.00をテストに入れると、同じ問題が発生しますpage.should have_content(949 + 1637.61)
item1 = FactoryGirl.create(:item, :quantity => 1, :price => 949.00, :description => "macbook for 949")