我想知道是否有办法对模型中的数字进行舍入,这样我就不必将数字四舍五入到指定的小数位,除了那里。
我查看了这两篇文章,但都没有回答我的问题:
第一个是第二个假设的重复,但在我看来它不是。无论如何,他们都没有清楚地回答我的问题。
是否有可能在模型中对浮点数进行一次舍入?
答案 0 :(得分:0)
我认为最好的方法是覆盖setter。 (在你的情况下,但一般来说,如果你必须存储圆形浮点数,我会使用整数。)
class Xyz < ActiveRecord::Base
def my_float=(value)
if value.is_a? Float
super(value.round)
else
super
end
end
end
答案 1 :(得分:0)
仅以货币为例!
# models/Currency.rb
class Currency < ApplicationRecord
before_save :round_decimals
private
def round_decimals
self.spot_rate = self.spot_rate.round(2)
end
end