如何让变量有2位小数

时间:2010-07-19 14:14:37

标签: ruby-on-rails variables comparison decimal

我有一个变量我想强制有2个,总是2个小数。我和一种货币比较。通常我会得到如下的比较。

if self.price != price
  #do something
end

self.price = 120.00price = 120.0的位置。 self.price在模型中设置为:precision => 2,但我如何对变量执行相同的操作,因为这似乎在比较中失败

2 个答案:

答案 0 :(得分:3)

使用整数来存储货币,例如,使用商店100美分兑换1美元。它可以减轻头痛,如果重要的话可以提高性能。

答案 1 :(得分: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