Ruby on Rails十进制列

Dal*_*ale 6 ruby-on-rails bigdecimal

如果将ActiveRecord列类型指定为十进制,则Rails会将该数据库值作为ruby BigDecimal对象返回.

我的问题是,当使用这些字段并对它们执行额外的数学运算时,我是否应该在计算中始终使用BigDecimal值,或者可以使用浮点值.我不知道在同一计算中混合BigDecimal值和浮点值是否是一个好习惯.

混合示例:BigDecimal.new('12 .43')/ 4.2

相同类型示例:BigDecimal.new('12 .43')/ BigDecimal.new('4.2')

我问的原因是因为我需要使用浮点数,因为我需要十进制精度.使用浮点数0.1 + 0.7不等于0.8.

Lar*_*y K 2

既然你是

...有点不敢使用浮标...

使用 BigDecimal。工作正常