如果值为nil,如何默认为零

时间:2012-12-07 07:33:25

标签: ruby

如果some_float为nil,我想将结果设为0。我该怎么做?

some_float = 9.238
or 
some_float = nil

some_float.round(2)

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