Result is round(Number)
which should be preferred for portability.
In coroutining mode, if Number is a free variable, the call to round/2 is delayed until this variable is instantiated.
Success:
round(1.49, 1.0).
round(1.5, 2.0). (odd integer part)
round(2.5, 2.0).
round(2.51, 3.0). (even integer part)
round(3.5, 4.0).
round(-6.4, Result). (gives Result = -6.0)
round(3, 3).
Fail:
round(1, 0.0).
Error:
round(A, 6.0). (Error 4).
round(0.5, 0). (Error 5).
round(4 + 2.3, 6.0). (Error 24).
round(1, r). (Error 24).