将正整数转换为负整数

时间:2015-08-19 00:49:51

标签: ruby ruby-on-rails-3

  def negate_amount
    amount = model.amount.to_s
    ("-" + amount).to_i
  end

有没有更好的方法将正整数转为负数?

上面的代码有效,但是有没有ruby或rails功能呢?没有做数学运算?

4 个答案:

答案 0 :(得分:9)

您可以使用一元-运算符:

def negate_amount
    -model.amount
end

答案 1 :(得分:9)

How do I convert a positive number to negative?类似的问题。 但总的来说,如果你总是期待一个否定的答案,你可以简单地说

def negate_amount
    amount = -(model.abs)
end

否则,如果您只是希望函数返回整数的负数:假设否定负数会返回正数,那么您将使用

def negate_amount
    amount = -(model)
end

答案 2 :(得分:2)

您可以将每个-1乘以该数量。

答案 3 :(得分:2)

如果你把它乘以负数怎么样?

  def negate_amount
    amount = model.amount.to_s
    amount = amount*-1
  end