我正在尝试将通过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
的金额的其他内容吗?当列是字符串时,节省的金额很好,但是,我需要用金额做一些计算/数学。
任何评论或帮助都会受到很大的影响。
答案 0 :(得分:0)
听起来你想将你的BigDecimal转换为浮点数,你可以用
来做@deposit['data']['available_balance'].to_f
Beware the dangers of floating point arithmetic,especially when dealing with money。