Функция roundthis()
в этом примере показывает, как округлять числа контролируемым, последовательным способом. Обратите внимание на небольшое значение выдумки. Попробуйте запустить этот пример без помадки, чтобы увидеть, что происходит.
def roundthis(x, m)
return (x/m+0.50001).floor*m
end
for x in [1.14, 1.15, 1.16]
print "#{x} #{roundthis(x, 0.1)} \n"
end
for x in [1.4, 1.5, 1.6]
print "#{x} #{roundthis(x, 1.0)} \n"
end
Это, положить в файл с именем roundtest.rb и выполнить распечатки
bash> ruby roundtest.rb
1.14 1.1
1.15 1.2
1.16 1.2
1.4 1.0
1.5 2.0
1.6 2.0
Обратите внимание на легкость округления до ближайших 2, 15, 0,005 или чего-либо еще.