gpt4 book ai didi

ruby - 如何将字符串转换为散列中的 float

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:31 25 4
gpt4 key购买 nike

我们如何实现哈希值到 float 的“就地”转换?动机是不必像这样编写一堆代码

r['delivery_fee'] = r['delivery_fee'].to_f
r['delivery_free_over'] = r['delivery_free_over'].to_f
r['delivery_possible_over'] = r['delivery_possible_over'].to_f
r['delivery_range'] = r['delivery_range'].to_f

而是

to_f r['delivery_fee']
to_f r['delivery_free_over']
# ...

我这样做了,但它没有按预期方式工作。

def to_f(s)
s = s.to_f
end

data = "1"
p data # => "1"
to_f data
p data # => Still "1" and not float

最佳答案

这很简单:

h = { one: '1', two: '2' }

Hash[h.keys.zip(h.values.map(&:to_f))]
# => { :one => 1.0, :two => 2.0 }

# or

Hash[h.map {|k, v| [k, v.to_f] }]
# => { :one => 1.0, :two => 2.0 }

使用两者中的哪一个是一个偏好问题,真的。

关于ruby - 如何将字符串转换为散列中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com