www.delorie.com/gnu/docs/elisp-manual-21/elisp_62.html   search  
 
Buy the book!


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