money rails gem, 如何将 6 位小数保存到字段
money rails gem, how to save 6 decimal to field
我有字段
monetize :unit_price_cents, as: 'unit_price', with_model_currency: :unit_price_currency
它在数据库中的类型是float。我想在数据库中保存值,保留 6 个十进制值。在 Money GEM 中,我自定义成功:
Money.new(1.123456).to_f => 0.01123456
调试了一些func,觉得问题在gemmoney-rails。它在调用 Money.new
之前四舍五入
所以任何配置或自定义都可以做到这一点? gem 中的代码加载太疯狂了
我不太明白你的问题。
您可以将数据库格式更改为 decimal(12,6) 吗?这允许小数点前有 6 位数字,这对每个人来说应该足够了(tm)
所以允许使用小数点。只需将配置添加到 initialize/money.rb
Money.infinite_precision = true
也许您想自定义 Money gem 的 func 格式以显示分的小数点。
我有字段
monetize :unit_price_cents, as: 'unit_price', with_model_currency: :unit_price_currency
它在数据库中的类型是float。我想在数据库中保存值,保留 6 个十进制值。在 Money GEM 中,我自定义成功:
Money.new(1.123456).to_f => 0.01123456
调试了一些func,觉得问题在gemmoney-rails。它在调用 Money.new
之前四舍五入所以任何配置或自定义都可以做到这一点? gem 中的代码加载太疯狂了
我不太明白你的问题。 您可以将数据库格式更改为 decimal(12,6) 吗?这允许小数点前有 6 位数字,这对每个人来说应该足够了(tm)
所以允许使用小数点。只需将配置添加到 initialize/money.rb
Money.infinite_precision = true
也许您想自定义 Money gem 的 func 格式以显示分的小数点。