[Scheme ]

 

целое (integer)

1
-1

Обратите внимание, что знак "-" не должен отделяться от числа пробелами, так как в этом случае он будет принят за функцию вычитания.

(number? 1)

->#t

(integer? 1)

->#t

(exact? 1);точное ли число

->#t

* real --вещественный

Неточные вещественные
1.02
-1.02

(number? 1.02)

->#t

(real? 1.02)

->#t

(inexact? 1.02)

->#t

(exact? 1.02)

->#f

(rational? 1.02)

->#f

Рациональные числа (точные вещественные), записываются как обычная дробь, здесь символ деления не является вызовом функции и не должен отделяться от числа.

123/5
-123/5

(number? 123/5)

->#t

(real? 123/5)

->#t

(exact? 123/5)

->#t

(rational? 123/5)

->#t

Сравнение чисел.

Самым простым способом сравниия двух и более чисел является функция "=":

(= 1 1)

->#t

(= 1 2)

->#f

(= 1 2 3)

Для сравнения чисел можно также использовать функцию "eqv?", в отличае от функции "=", функция "eqv?" принимает только два аргумента и возвращает #t только тогда, когда сравниваемые числа не только равны, но у них совпадает точность.

(eqv? 40 40.0)

->#f

(eqv? 40 40/1)

->#t

(eqv? 40 40.0)

->#f

(eqv? 40/1 40.0)

->#f

Сравнение чисел

* > -- больше

(> 1 2)

->#f

* >= -- больше или равно

(>= 1 2)

->#f

(>= 2 2)

->#t

* < -- меньше

(< 1 2)

->#f

* <= -- меньше или равно

(<= 1 2)

->#f

Другие операции с числами

* zero? -- являе -- является ли число
positive? -- является ли число положительным
negative? -- является ли число отрицательным
odd? -- является ли число нечётным
even? -- является ли числым чётным
finite?
infinite?
nan?