2
我是新來Clojure,並找不到相當於整數?在來自Chez方案8.4,主要用於測試案例如下:在Clojure中實現整數?在計劃
(?整數39.0) => #T
我想出到目前爲止的功能是:
(defn actual-integer? [x] (or (= 0.0 (- x (int x))) (integer? x)))
當x是任意數字類型還是有更好的解決方案時它工作嗎?
謝謝。
我是新來Clojure,並找不到相當於整數?在來自Chez方案8.4,主要用於測試案例如下:在Clojure中實現整數?在計劃
(?整數39.0) => #T
我想出到目前爲止的功能是:
(defn actual-integer? [x] (or (= 0.0 (- x (int x))) (integer? x)))
當x是任意數字類型還是有更好的解決方案時它工作嗎?
謝謝。
嗯,嚴格來說39.0
不是整數文字,因爲它在末尾有.0
部分。一個簡單的實現過程將是:
(defn actual-integer? [x] (== (int x) x))
注意,==
operator:
返回非零如果NUMS都具有同等價值(類型無關),否則爲false
我用Clojure 1.5.1測試了這個版本,下面返回false:(actual-integer?3.0) – FromWhereToWhere
@FromWhereToWhere oops,錯過了一個'='。查看我的更新回答 –
非常感謝參考。 – FromWhereToWhere