我觉得自己像个疯子。我想将所有分数四舍五入到最接近的整数。
例如,67/30 = 2.233333333334。我想将其舍入到3.如果结果不是一个整数,我就不想向下舍入,只是向上。
这就是我正在尝试的:
puts 67/30.to_f.ceil
以下是我正在寻找的例子:
有什么想法吗?非常感谢!
答案 0 :(得分:97)
问题是您目前正在ceil
上致电30.to_f
。以下是Ruby如何评估它:
(67)/(30.to_f.ceil)
# .ceil turns the float into an integer again
(67)/(30.0.ceil)
# and now it's just an integer division, which will be 2
67/30 # = 2
要解决此问题,您只需添加括号:
puts (67/30.to_f).ceil # = 3