Parsing 在clojure中解析用于排序的键值对

Parsing 在clojure中解析用于排序的键值对,parsing,sorting,clojure,functional-programming,hashmap,Parsing,Sorting,Clojure,Functional Programming,Hashmap,我想使用其中一个键Cost对给定的地图序列进行排序: ({:Date "2012-12-01", :Cost "11.23"} {:Date "2012-12-02", :Cost "25.68"} {:Date "2012-12-03", :Cost "20.55"} {:Date "2012-12-04", :Cost "50.22"}) 但是,当:Cost的值是字符串时,我不想进行排序。我最初尝试使用key:Cost使用(sort by)函数,但排序是进行字符串比较,而不是双重比较。有没

我想使用其中一个键Cost对给定的地图序列进行排序:

({:Date "2012-12-01", :Cost "11.23"} {:Date "2012-12-02", :Cost "25.68"} {:Date "2012-12-03", :Cost "20.55"} {:Date "2012-12-04", :Cost "50.22"})

但是,当:Cost的值是字符串时,我不想进行排序。我最初尝试使用key:Cost使用(sort by)函数,但排序是进行字符串比较,而不是双重比较。有没有一种方法可以将:Cost的值从字符串解析为映射序列中的double?我对Clojure和函数式编程比较陌生,非常感谢您的帮助

您可以使用
Double/parseDouble

(sort-by #(Double/parseDouble (:Cost %)) input-list)

谢谢李!这就像一个符咒,完全符合我的需要。非常感谢