www.delorie.com/gnu/docs/elisp-manual-21/elisp_62.html search
GNU Emacs Lisp Reference Manual

 [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

## 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 ```

 [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

 webmaster   donations   bookstore delorie software   privacy Copyright © 2003   by The Free Software Foundation Updated Jun 2003