GNU Emacs Lisp Reference Manual
3.5 Numeric Conversions
To convert an integer to floating point, use the function float
.
 Function: float number
 This returns number converted to floating point.
If number is already a floating point number,
float
returns
it unchanged.
There are four functions to convert floating point numbers to integers;
they differ in how they round. These functions accept integer arguments
also, and return such arguments unchanged.
 Function: truncate number
 This returns number, converted to an integer by rounding towards
zero.
 (truncate 1.2)
=> 1
(truncate 1.7)
=> 1
(truncate 1.2)
=> 1
(truncate 1.7)
=> 1

 Function: floor number &optional divisor
 This returns number, converted to an integer by rounding downward
(towards negative infinity).
If divisor is specified, floor
divides number by
divisor and then converts to an integer; this uses the kind of
division operation that corresponds to mod
, rounding downward.
An aritherror
results if divisor is 0.
 (floor 1.2)
=> 1
(floor 1.7)
=> 1
(floor 1.2)
=> 2
(floor 1.7)
=> 2
(floor 5.99 3)
=> 1

 Function: ceiling number
 This returns number, converted to an integer by rounding upward
(towards positive infinity).
 (ceiling 1.2)
=> 2
(ceiling 1.7)
=> 2
(ceiling 1.2)
=> 1
(ceiling 1.7)
=> 1

 Function: round number
 This returns number, converted to an integer by rounding towards the
nearest integer. Rounding a value equidistant between two integers
may choose the integer closer to zero, or it may prefer an even integer,
depending on your machine.
 (round 1.2)
=> 1
(round 1.7)
=> 2
(round 1.2)
=> 1
(round 1.7)
=> 2
