保存JSON哈希值为十进制- Ruby on Rails



我试图保存通过JSON发送到我的postgreSQL数据库的小数列的金额。

哈希值看起来像这样:

{"status"=>"success", "data"=>{"network"=>"BTCTEST", "address"=>"2MstFNxtnp3pLLuXUK4Gra5dMcaz132d4dt", "available_balance"=>"0.01000000", "pending_received_balance"=>"0.00000000"}}

我要保存的数据是:"available_balance"=>"0.01000000"

我的问题是,金额保存为:#<BigDecimal:74b44d8,'0.0',9(18)>

在我的控制器中提取并保存我的数量:

@deposit['data']['available_balance']
Payment.update(amount: @deposit['data']['available_balance'])

是否还有其他的东西,我需要添加或更改金额保存为0.01000000 ?当列是字符串时,节省的金额很好,但是,我需要对金额进行一些计算/数学。

如有任何意见或协助,将不胜感激

听起来像是要将BigDecimal转换为浮点数,可以使用

@deposit['data']['available_balance'].to_f
但是,要注意浮点运算的危险,特别是在处理金钱的时候。

最新更新