我有一些数字存储在数据库中。
>> t = Total.first
=> #<Total id: 1, profit: 1058, number: 17, fees: 204, created_at: "2012-01-12 06:44:30", updated_at: "2012-01-12 06:51:13">
我想对其中一个整数(一个经常更新的整数)执行除法,并对新更新的整数进行除法。我基本上只是想知道26,000的利润百分比
>> t.profit
=> 1058
>> t.profit / 26000
=> 0
>> t.profit.to_i / 26000
=> 0
我希望它会像这样的东西一样容易
def index
@t = Total.first
@x = @t.profit / 26000
end
查看
<%= @x %>
但它不起作用,因为控制台建议它不会。任何提示?
答案 0 :(得分:4)
Sergio方法的替代方法是使用Rails的内置number_to_percentage
视图助手。
在您的控制器中:
def index
@t = Total.first
@x = @t.profit / 260.0 # = 26000 / 100
end
在您看来:
<%= number_to_percentage @x, :precision => 0 %>
或,如果您没有使用@t
进行其他任何操作,请让数据库进行数学运算:
def index
@t = Total.select('profit / 260 AS profit').first
end
则...
<%= number_to_percentage @t.profit, :precision => 0 %>
答案 1 :(得分:2)
这是一个整数除法,因此结果是四舍五入的。将其中一个操作数转换为float。
t.profit / 26000.to_f
要将其舍入为小数点后两位,请使用以下内容:
"%.2f" % (t.profit / 26000.to_f)