如果some_float为nil,我想将结果设为0。我该怎么做?
some_float = 9.238
or
some_float = nil
some_float.round(2)
答案 0 :(得分:12)
在回合前调用.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 :(得分:2)
选项1:
x = some_float ? some_float.round(2) : 0.0
选项2(Ruby> = 2.3.0):
x = some_float&.round(2) || 0.0