Next: , Previous: Float Basics, Up: Numbers

3.3 Type Predicates for Numbers

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 a floating point number 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.

This 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).