Simple types / Strings

(require '[clojure.string :as str])

;; to Long
(def str-number "42")
;; the first method - nil instead of an exception on garbage
(def number-1 (parse-long str-number))
;; the second method - Java interop
(def number-2 (Long/parseLong str-number))

;; to Double
(def str-pi "3.14")
(def pi (parse-double str-pi))

(def str-exp "2.71828")
(def exp (Double/parseDouble str-exp))

;; A comma as the decimal separator
(def str-half "0,5")
(def half (parse-double (str/replace str-half "," ".")))

(println number-1 number-2 pi exp half)
;; parse-long returns nil when the string is not a number
(println "not a number ->" (parse-long "forty two"))