Clojure将字符串从用户输入加倍

时间:2014-12-23 21:12:31

标签: clojure coercion

clojuredocs.com时,他们讨论了为什么不使用来自不受信任来源的readread-string。使用它的一种方法可能是这样:

=> (double (read-string "1.99"))
=> 1.99
=> (.Double "1.22")
=> IllegalArgumentException No matching field found: Double for class...

如果您需要在数据库中存储double,这将非常有用。但是,如果数据来自用户输入怎么办?假设用户想要以英尺或其他东西输入他们的身高。我们如何从网页中获取输入字符串并将其安全地转换为double或其他数值?

1 个答案:

答案 0 :(得分:1)

.放在Double

的另一边
user> (Double. "1.22")
1.22

这将调用Double类的构造函数,该构造函数接受一个字符串并生成一个新的double。 它是(new Double "1.22")

的语法糖