我觉得自己像一个疯狂的人。我想将所有分数舍入到最接近的整数。红宝石总是四舍五入
例如,三十〇分之六十七= 2.233333333334。如果结果不是一个完整的数字,我不想总结,只能向上。
这就是我想:的
puts 67/30.to_f.ceil
这里的例子就是我在寻找:
- 三十〇分之六十七= 3
- 50/100 = 1
- 2/2 = 1
任何想法?非常感谢!
我觉得自己像一个疯狂的人。我想将所有分数舍入到最接近的整数。红宝石总是四舍五入
例如,三十〇分之六十七= 2.233333333334。如果结果不是一个完整的数字,我不想总结,只能向上。
这就是我想:的
puts 67/30.to_f.ceil
这里的例子就是我在寻找:
任何想法?非常感谢!
的问题是,你目前正在呼吁30.to_f
ceil
。这里的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
最好不要有不必要的标签(这里的Rails)。这是一个消磨时间对于那些只在Rails的问题,那些谁滤掉的Rails问题将错过这可能是他们感兴趣的一个问题感兴趣。 – 2014-08-28 08:32:08
另一种方法:'(67 + 30-1)/ 30 => 3' – 2014-08-28 08:38:55