0
说,我这有类似元件哈希:下降哈希值排序
###EVNT-66 => 8.40,
###EVNT-108 => 9.11,
###EVNT-345 => 88.22,
###EVNT-143 => 1.26
我想他们降序基于哈希值进行排序。所以,我写了这个:
h.sort_by {|_key, value| value}.reverse
令人惊讶的是,我得到了这种方式的结果:
###EVNT-108 => 9.11,
###EVNT-66 => 88.22,
###EVNT-345 => 8.40,
###EVNT-143 => 1.26
这是不对的。与'88'在它应该在顶部。我不知道我还能写什么来实现这一目标。
的值是字符串。如果要按数字顺序对它们进行排序而不是按字典顺序排列,请在排序之前或排序期间将它们转换为某种数字类型。 – Ryan
@Ryan,感谢您的快速回复。那么,我应该如何将字符串转换为数字? –
这取决于。你的号码有什么样的精度?两位小数位,总是在0-100之间,或者......? – Ryan