what’s “hard to understand” is:
if round()
is rounding-down (floor), 1.5 should get 1, and 2.5 should get 2
otherwise, if it’s rounding-up (ceiling), 1.5 should get 2, and 2.5 should get 3
on the other hand, the “common sense” rounding is: 0 <= x < 0.5 → 0, 0.5 <= x <= 1.0 → 1
now, 1.5 gets 2, and 2.5 gets 2 also
it’s counter-intuitive