-:total_cost_with_tax => #<BigDecimal:7fda9d17aaf0,'0.105225E4',18(45)>,
-:total_cost_without_tax => #<BigDecimal:7fda9d17b450,'0.972E3',9(36)>,
-:total_last_installment_amount => #<BigDecimal:7fda9d17b978,'0.8011E2',18(45)>,
-:total_monthly_installment_amount => #<BigDecimal:7fda9d17abb8,'0.8011E2',18(45)>,
-:total_tax => #<BigDecimal:7fda9d17b068,'0.8025E2',18(45)>,
+:total_cost_with_tax => #<BigDecimal:7fda9d0184c8,'0.105225E4',18(36)>,
+:total_cost_without_tax => #<BigDecimal:7fda91ff2b48,'0.972E3',9(27)>,
+:total_last_installment_amount => #<BigDecimal:7fda91fee548,'0.8011E2',18(36)>,
+:total_monthly_installment_amount => #<BigDecimal:7fda91fe72c0,'0.8011E2',18(36)>,
+:total_tax => #<BigDecimal:7fda9d00a2b0,'0.8025E2',18(36)>,
因此,这些都是散布在我的一些测试... rspec 2,rails 3.我使用.should eq()
来比较散列来比较。我似乎无法得到正确的咒语。看起来这是一件精确的事情,看起来很愚蠢。rspec大十进制匹配器
为了记录在案:不正确的。 usijng BigDecimal的全部意义在于它不会像Float那样行事;你应该得到你输入的号码。 – 2016-01-15 14:42:39
@Andy我添加了更多的细节来解决你的评论。 – joelparkerhenderson 2016-01-15 22:48:20
非常好,但我的评论的观点是,你不应该*需要*使用'be_within'来匹配一个BegDecimal。这不像一个浮动;由于数字的存储方式,您无需考虑舍入错误。 – 2016-01-18 08:58:12