Ruby on rails 如何让一个变量有两个小数

Ruby on rails 如何让一个变量有两个小数,ruby-on-rails,variables,comparison,decimal,Ruby On Rails,Variables,Comparison,Decimal,我有一个变量,我想强制它有2个小数,并且总是2个小数。我把它比作一种货币。我经常会得到如下的比较结果 if self.price != price #do something end 其中self.price=120.00和price=120.0。self.price在模型中设置了一个:precision=>2,但是如何对变量进行同样的设置,因为这在比较中似乎失败了使用整数存储货币,例如,使用store 100美分表示1美元。它可以减少头痛,如果有必要,还可以提高性能 class Nume

我有一个变量,我想强制它有2个小数,并且总是2个小数。我把它比作一种货币。我经常会得到如下的比较结果

if self.price != price
  #do something
end

其中
self.price=120.00
price=120.0
self.price
在模型中设置了一个
:precision=>2
,但是如何对变量进行同样的设置,因为这在比较中似乎失败了

使用整数存储货币,例如,使用store 100美分表示1美元。它可以减少头痛,如果有必要,还可以提高性能

class Numeric
def round_to( decimals=0 )
  factor = 10.0**decimals
  (self*factor).round / factor
  end
end


if self.price.round_to(2) != price.round_to(2)
  #do something
end