2014-04-19 72 views
0

我有這樣的代碼:防止ActiveRecord的圓小數

Payment.select('payments.*, (payment.amount * 0.1) as total_amount') 

當TOTAL_AMOUNT等於0.1(在MySQL控制檯檢查)的ActiveRecord返回0。如何防止ActiveRecord的圓小數?在此先感謝

+0

'total_amount'字段有什麼數據類型? – Pavan

+0

如果您想要十進制值,'total_amount'必須是'float'。 – supernova32

+0

如果我的答案似乎適合你,那麼請接受它! – Pavan

回答

0

如果您total_amount數據類型是integer那麼它不會接受浮動值,所以你的情況total_amount數據類型需要設置爲float

和如果你想知道如何將其更改爲float,如果你不擔心數據的丟失,那麼我會建議rake db:rollback

後來打開create_payments遷移文件和編輯數據類型浮動此後不要忘記做rake db:migrate