4.3.1 Number Types

4.3 Numbers
4.3.1 Number Types
4.3.3 Flonums
4.3.4 Fixnums
4.3.5 Extflonums
On this page:
top
up
4.3.1Number TypesπŸ”— i

procedure

(number? v)β†’boolean?

v:any/c
Returns #t if v is a number, #f otherwise.

Examples:
> (number? 1)

#t

> (number? 2+3i)

#t

> (number? "hello")

#f

> (number? +nan.0)

#t

procedure

(complex? v)β†’boolean?

v:any/c
Returns (number? v), because all numbers are complex numbers.

procedure

(real? v)β†’boolean?

v:any/c
Returns #t if v is a real number, #f otherwise.

Examples:
> (real? 1)

#t

> (real? +inf.0)

#t

> (real? 2+3i)

#f

> (real? 2.0+0.0i)

#f

> (real? "hello")

#f

procedure

(rational? v)β†’boolean?

v:any/c
Returns #t if v is a rational number, #f otherwise.

Examples:
> (rational? 1)

#t

> (rational? +inf.0)

#f

> (rational? "hello")

#f

procedure

(integer? v)β†’boolean?

v:any/c
Returns #t if v is a number that is an integer, #f otherwise.

Examples:
> (integer? 1)

#t

> (integer? 2.3)

#f

> (integer? 4.0)

#t

> (integer? +inf.0)

#f

> (integer? 2+3i)

#f

> (integer? "hello")

#f

procedure

(exact-integer? v)β†’boolean?

v:any/c
Returns (and (integer? v)(exact? v)).

Examples:

#t

#f

v:any/c
Returns (and (exact-integer? v)(not (negative? v))).

Examples:

#t

#f

procedure

(exact-positive-integer? v)β†’boolean?

v:any/c
Returns (and (exact-integer? v)(positive? v)).

Examples:

#t

#f

procedure

(inexact-real? v)β†’boolean?

v:any/c
Returns (and (real? v)(inexact? v)).

procedure

(fixnum? v)β†’boolean?

v:any/c
Return #t if v is a fixnum, #f otherwise.

Note: the result of this function is platform-dependent, so using it in syntax transformers can lead to platform-dependent bytecode files. See also fixnum-for-every-system? .

procedure

(flonum? v)β†’boolean?

v:any/c
Return #t if v is a flonum, #f otherwise.

procedure

( double-flonum? v)β†’boolean?

v:any/c
Identical to flonum? .

procedure

(single-flonum? v)β†’boolean?

v:any/c
Return #t if v is a single-flonum (i.e., a single-precision floating-point number), #f otherwise.

Returns #t if single-flonums are supported on the current platform, #f otherwise.

Currently, single-flonum-available? produces #t when (system-type 'vm) produces 'racket, and single-flonum-available? produces #f otherwise.

If the result is #f, then single-flonum? also produces #f for all arguments.

Added in version 7.3.0.5 of package base.

procedure

(zero? z)β†’boolean?

Returns (= 0z).

Examples:
> (zero? 0)

#t

> (zero? -0.0)

#t

procedure

(positive? x)β†’boolean?

x:real?
Returns (> x0).

Examples:
> (positive? 10)

#t

> (positive? -10)

#f

> (positive? 0.0)

#f

procedure

(negative? x)β†’boolean?

x:real?
Returns (< x0).

Examples:
> (negative? 10)

#f

> (negative? -10)

#t

> (negative? -0.0)

#f

procedure

(even? n)β†’boolean?

Returns (zero? (modulo n2)).

Examples:
> (even? 10.0)

#t

> (even? 11)

#f

> (even? +inf.0)

even?: contract violation

expected: integer?

given: +inf.0

procedure

(odd? n)β†’boolean?

Returns (not (even? n)).

Examples:
> (odd? 10.0)

#f

> (odd? 11)

#t

> (odd? +inf.0)

odd?: contract violation

expected: integer?

given: +inf.0

procedure

(exact? z)β†’boolean?

Returns #t if z is an exact number, #f otherwise.

Examples:
> (exact? 1)

#t

> (exact? 1.0)

#f

procedure

(inexact? z)β†’boolean?

Returns #t if z is an inexact number, #f otherwise.

Examples:
> (inexact? 1)

#f

> (inexact? 1.0)

#t

procedure

(inexact->exact z)β†’exact?

Coerces z to an exact number. If z is already exact, it is returned. If z is +inf.0, -inf.0, +nan.0, +inf.f, -inf.f, or +nan.f, then the exn:fail:contract exception is raised.

Examples:

1

1

procedure

(exact->inexact z)β†’inexact?

Coerces z to an inexact number. If z is already inexact, it is returned.

Examples:

1.0

1.0

x:real?
Coerces x to a single-precision floating-point number. If x is already a single-precision floating-point number, it is returned.

procedure

(real->double-flonum x)β†’flonum?

x:real?
Coerces x to a double-precision floating-point number. If x is already a double-precision floating-point number, it is returned.

top
up

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /