57614

[code]

    hash = {"1.3"=>"53.0", "3.4"=>"50.30", "2.5"=>"1.600", "7.4"=>"63.0", "4.9"=>"103.400", "3.2"=>"13.400"}
    
[/code]

a = 3.0  
上記のような場合にkeyがa（3.0）以上のvalue値を返したいのですがなかなか上手くいきません。

上の場合だと

[code]

    {"3.4"=>"50.30","7.4"=>"63.0","4.9"=>"103.400", "3.2"=>"13.400"}
    
[/code]

もしくはvalue値のみで

[code]

    {50.30, 63.0, 103.400, 13.400}
    
[/code]

と返したいです。  
何かいい方法をご存知の方は教えていただけるとありがたいです。

また、hashでkeyもvalue文字列の場合にhashの形は保ったまま文字列 → 数値に変更する方法はあるのでしょうか。


CC BY-SA 4.0
2019-08-26T08:58:45.760
57613
2019-08-26T09:13:40.630
29428
question
ruby
文字列で返されたhash内でkeyが決まった数値以上のvalueを出力したい


`Hash#select` でどうでしょう  
<https://docs.ruby-lang.org/ja/latest/method/Hash/i/filter.html>

[code]

    hash = {"1.3"=>"53.0", "3.4"=>"50.30", "2.5"=>"1.600", "7.4"=>"63.0", "4.9"=>"103.400", "3.2"=>"13.400"}
    a = 3.0
    hash.select {|k| k.to_f >= a }
    # => {"3.4"=>"50.30", "7.4"=>"63.0", "4.9"=>"103.400", "3.2"=>"13.400"}
    
[/code]


CC BY-SA 4.0
2019-08-26T09:13:40.630
57614
2019-08-26T09:13:40.630
2599
57613
answer