floating point division by zero
我本来以为下面的代码会抛出一个错误,但它却返回
1 | 0.0 / 0.0 # => NaN |
编辑:在这种情况下我需要返回零,所以我要
1 | (x / y rescue 0) |
但这不起作用。如何做到这一点?
1 2 | res = x/y res = 0 unless res.finite? |
如果浮点数是有效的浮点数(不是无限的,是NaN),则
你可以做点什么
1 | x == 0 and y == 0 ? 0 : x/y |
或
1 | x.nonzero? || y.nonzero? ? x/y : 0 |