2010-12-03 2 views
48

Если у меня есть поплавок 49.967, и я делаю .to_i, он будет рубить его до 49, который для моего использования анализа дискового пространства .967 - это более 900 мб пространства, которое не будет учитываться для дисплеев.Округление поплавка до ближайшего целого числа в ruby ​​

Есть функция для округления числа до ближайшего целого числа или же я должен определить это мой сам, как это:

class Float 
    def to_nearest_i 
    (self+0.5).to_i 
    end 
end 

так, что я мог тогда сделать:

>> 5.44.to_nearest_i 
=> 5 
>> 5.54.to_nearest_i 
=> 6 
+0

Вы знаете, что есть документ для Руби, не так ли? http://ruby-doc.org/ruby-1.9/classes/Float.html#M000532 – 2010-12-03 17:01:29

+0

@glennmcdonald, ваша ссылка не работает. Вот новая ссылка для 2.20: http://ruby-doc.org/core-2.2.0/Float.html – Austin 2015-06-11 20:25:22

ответ

95

Попробуйте Float.round ,

irb(main):001:0> 5.44.round 
=> 5 
irb(main):002:0> 5.54.round 
=> 6 
Смежные вопросы