你如何围绕Rails的平均值?

时间:2013-10-18 02:40:51

标签: ruby-on-rails ruby-on-rails-3 average rounding

我根据评论显示星级评分,使用以下条件:

- if page.page_reviews.average('rating') == 5
  %p Do something...

问题是......使用1-5审查系统,并非所有平均值都等于整数。如何将每个平均值四舍五入到Rails中最接近的整数?

3 个答案:

答案 0 :(得分:2)

使用Ruby的Float#round

没有参数,Float#round方法会将Float转换为最接近的Integer。例如:

(2.5).round
#=> 3

avg = 3.2
avg.round
#=> 3

答案 1 :(得分:0)

你走了:

2.0.0-p247 :002 > (1.2).ceil
 => 2
2.0.0-p247 :003 > (1.2).floor
 => 1
2.0.0-p247 :004 > (1.2).round
 => 1
2.0.0-p247 :005 > (1.8).round
 => 2

答案 2 :(得分:0)

您可以使用

Math.floor(number + 0.5)

舍入最接近的整数值(4.7轮到5)。如果您只想舍入值的整数部分(例如4.7轮到4),请不要包含0.5的加法。