简单类型 / 数字 / Double 和 Float

(def a 1.0)
(def b (+ (* 0.3 30.1))
;; b is 0.9999999999999999

;; wrong way to compare
(def equal1 (== a b))
;; equal1 is false

;; correct way to compare: with a tolerance
(def delta 1e-9)
(def equal2 (< (abs (- a b)) delta))
;; equal2 is true

;; = wants the same type as well, == compares numbers across types
(println "(= 1.0 1) is" (= 1.0 1))
(println "(== 1.0 1) is" (== 1.0 1))

(println "b is" b)
(println "equal1 is" equal1)
(println "equal2 is" equal2)