Rails保存十进制没有精度

时间:2017-04-10 14:54:34

标签: ruby-on-rails decimal

我有一个名为'extra_charge'的列 这是此专栏的最后一次迁移:

def self.up      
  change_column :menu_entries, :extra_charge, :decimal, precision: 8, scale: 2
end

但我无法用小数保存数字。

[2] pry(main)> c.extra_charge = '4,90'
=> "4,90"
[3] pry(main)> c.save
=> true
[4] pry(main)> c.extra_charge.to_f
=> 4.0

我也尝试了一个浮点数,但这不像十进制那样准确,所以我改回了十进制。但我无法解决它。

1 个答案:

答案 0 :(得分:3)

就像@Iceman说的那样有一个错字。

,替换为.

实施例

[2] pry(main)> c.extra_charge = '4.90'
=> "4.90"
[3] pry(main)> c.save
=> true
[4] pry(main)> c.extra_charge.to_f
=> 4.9