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 arith-error 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
|