我有这段代码:
Payment.select('payments.*, (payment.amount * 0.1) as total_amount')
当total_amount等于0.1(在mysql控制台中检查)时,ActiveRecord返回0.如何防止ActiveRecord舍入小数?提前致谢
答案 0 :(得分:0)
如果您的total_amount
数据类型是integer
,那么它不会接受浮点值,因此在您的情况下total_amount
数据类型需要设置为float
。
如果您想知道如何将其更改为float
,如果您不担心数据丢失,那么我建议rake db:rollback
稍后打开您的create_payments
迁移文件并将数据类型编辑为float。并且在此之后不要忘记执行rake db:migrate
。