Next: Comparison of Numbers, Previous: Float Basics, Up: Numbers [Contents][Index]

The functions in this section test for numbers, or for a specific
type of number. The functions `integerp`

and `floatp`

can
take any type of Lisp object as argument (they would not be of much
use otherwise), but the `zerop`

predicate requires a number as
its argument. See also `integer-or-marker-p`

and
`number-or-marker-p`

, in Predicates on Markers.

- Function:
**floatp***object* This predicate tests whether its argument is floating point and returns

`t`

if so,`nil`

otherwise.

- Function:
**integerp***object* This predicate tests whether its argument is an integer, and returns

`t`

if so,`nil`

otherwise.

- Function:
**numberp***object* This predicate tests whether its argument is a number (either integer or floating point), and returns

`t`

if so,`nil`

otherwise.

- Function:
**natnump***object* -
This predicate (whose name comes from the phrase “natural number”) tests to see whether its argument is a nonnegative integer, and returns

`t`

if so,`nil`

otherwise. 0 is considered non-negative.`wholenump`

is a synonym for`natnump`

.

- Function:
**zerop***number* This predicate tests whether its argument is zero, and returns

`t`

if so,`nil`

otherwise. The argument must be a number.`(zerop x)`

is equivalent to`(= x 0)`

.