2

我是 Clojure 的新手,找不到整数的等价物?在 Chez 方案 8.4 中,主要针对如下测试用例:

(整数?39.0)=> #t

到目前为止我提出的功能是:

(defn actual-integer? [x] (or (= 0.0 (- x (int x))) (integer? x))) 

当 x 是任意数字类型时它是否有效或者是否有更好的解决方案?

谢谢。

4

1 回答 1

2

好吧,严格来说39.0不是整数文字,因为它.0在末尾有部分。该过程的简单实现是:

(defn actual-integer? [x] (== (int x) x))

请注意,==运算符

如果 nums 都具有等效值(与类型无关),则返回非 nil,否则返回 false

于 2013-09-27T22:54:16.747 回答