我试图保存通过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
但是,要注意浮点运算的危险,特别是在处理金钱的时候。