Result is truncate(Number)
which should be preferred for portability.
This operation works on all numeric types. The result value is the closest integral value that lies between 0 and Number (rounding towards zero).
The result type is the same as the argument type. To convert the type to integer, use integer/2.
In coroutining mode, if Number is uninstantiated, the call to truncate/2 is delayed until this variable is instantiated.
Success:
X is truncate(1.8). (gives Result = 1.0)
truncate(1.8, 1.0).
truncate(-1.8, -1.0).
truncate(5, 5).
truncate(-6.4, Result). (gives Result = -6.0)
Fail:
truncate(1.0, 0.0).
Error:
truncate(A, 6.0). (Error 4).
truncate(0.5, 0). (Error 5).
truncate(1, r). (Error 24).
truncate(4 + 2.3, 6.0). (Error 24).