Clojure - 数字



Clojure 中的数字数据类型派生自 Java 类。

Clojure 支持整数和浮点数。

  • 整数是不包含小数部分的值。

  • 浮点数是包含小数部分的十进制值。

以下是 Clojure 中数字的示例。

(def x 5)
(def y 5.25)

其中 ‘x’ 为整数类型,‘y’ 为浮点数类型。

在 Java 中,以下类与 Clojure 中定义的数字相关联。

Numbers

为了实际看到 Clojure 中的数字是从 Java 类派生的,可以使用以下程序查看使用 ‘def’ 命令时分配的数字的类型。

示例

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   (def x 5)
   (def y 5.25)
   (println (type x))
   (println (type y)))
(Example)

‘type’ 命令用于输出与分配给变量的值关联的类。

输出

以上代码将产生以下输出。

Java.lang.long
Java.lang.double

数字测试

以下测试函数可用于数字。

序号 数字和描述
1 zero?

如果数字为零,则返回 true,否则返回 false。

2 pos?

如果数字大于零,则返回 true,否则返回 false。

3 neg?

如果数字小于零,则返回 true,否则返回 false。

4 even?

如果数字为偶数,则返回 true;如果数字不是整数,则抛出异常。

5 odd?

如果数字为奇数,则返回 true;如果数字不是整数,则抛出异常。

6 number?

如果数字确实是数字,则返回 true。

7 integer?

如果数字是整数,则返回 true。

8 float?

如果数字是浮点数,则返回 true。

广告