rails - decimal 与 float, 小数的不准确问题
访问量: 2473
参考: https://stackoverflow.com/questions/8514167/float-vs-decimal-in-activerecord
看这个例子:
> "%.47f" % (1.0/10) => "0.10000000000000000555111512312578270211815834045"
这个就是 不要在 现金中使用 float的原因
decimal 就不存在这个问题.
"123.45", precision: 5 , scale: 2
所以,在Rails 中建立migration的时候,可以:
add_column :products, :price, :decimal, precision:5, scale: 2