如何在Rails 4模型中将整数转换为BigDecimal

时间:2016-10-14 18:03:02

标签: ruby-on-rails integer

好的,我在订单模型中生成了一些CSV。因此,在我的模型中,我需要将存储为Integer的值(我将订单的值转换为美分并存储为整数)转换为货币格式:例如,如果我在数据库中有1198 ,我想像11.98一样显示它。我怎样才能做到这一点?

我试过了:

value = BigDecimal.new(value / 100).to_s
value = (value / 100).to_s
value = value.to_f / 100

但以上都没有奏效。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

获得Float:

(1198 / 100.to_f).round(2)
#=> 11.98

获得BigDecimal:

value = 1198    
bd = BigDecimal.new((1198 / 100.to_f).to_s)
#=> #<BigDecimal:7f8ce28b5288,'0.1E3',9(18)>
bd.to_f
#=> 11.98