Я пытаюсь определить функцию, которая учитывает следующие условия округления (округление до ближайшего целого или десятого):
ОсновнойЯ обнаружил проблему, заключающуюся в округлении отрицательных чисел.
Вот моя реализация (извините за условную проверку, но только для этого примера):
def convention_round(number, to_int = false)
if to_int
number.round
else
number.round(1)
end
end
convention_round(1.2234) # 1.2
convention_round(1.2234, true) # 1
convention_round(1.896) # 1.9
convention_round(1.896, true) # 2
convention_round(1.5) # 1.5
convention_round(1.5, true) # 2
convention_round(1.55) # 1.6
convention_round(1.55, true) # 2
convention_round(-1.2234) # -1.2
convention_round(-1.2234, true) # -1
convention_round(-1.896) # -1.9
convention_round(-1.2234, true) # -2
convention_round(-1.5) # -1.5
convention_round(-1.5, true) # -2 (Here I want rounded to -1)
convention_round(-1.55) # -1.6 (Here I want rounded to -1.5)
convention_round(-1.55, true) # -2
Я не на 100%уверен, что лучший способ округления отрицательных чисел.
Спасибо!