ここを以下のように修正していただけませんか？
```ruby
h[:rain] = i.slice(/(降水確率).*?(\d+)/u, 2)

[:max_temp, :min_temp, :rain].each do |j|
  h[j] = h[j].to_i if h[j]
end
```