def negate_amount
amount = model.amount.to_s
("-" + amount).to_i
end
有没有更好的方法将正整数转为负数?
上面的代码有效,但是有没有ruby或rails功能呢?没有做数学运算?
答案 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