【发布时间】:2012-11-25 09:05:49
【问题描述】:
如果 some_float 为 nil,我希望结果为 0。我该怎么做?
some_float = 9.238
or
some_float = nil
some_float.round(2)
【问题讨论】:
-
另请参阅此答案:stackoverflow.com/a/953388/44853
标签: ruby
如果 some_float 为 nil,我希望结果为 0。我该怎么做?
some_float = 9.238
or
some_float = nil
some_float.round(2)
【问题讨论】:
标签: ruby
在回合前拨打.to_f
some_float.to_f.round(2)
因为当你在 nil 上调用 to_f 时,它会返回 0.0
9.238.to_f.round(2) # => 9.24
nil.to_f.round(2) # => 0.0
【讨论】:
选项 1:
x = some_float ? some_float.round(2) : 0.0
选项 2(Ruby >= 2.3.0):
x = some_float&.round(2) || 0.0
【讨论】: