我根据评论显示星级评分,使用以下条件:
- if page.page_reviews.average('rating') == 5
%p Do something...
问题是......使用1-5审查系统,并非所有平均值都等于整数。如何将每个平均值四舍五入到Rails中最接近的整数?
答案 0 :(得分:2)
没有参数,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的加法。