Kos*_*tas 30
如果您需要测试一个数字是否为NaN,您可以使用#nan?
它:
ruby-1.8.7-p352 :008 > (0/0.0).nan? #=> true
ruby-1.8.7-p352 :009 > (0/1.0).nan? #=> false
Run Code Online (Sandbox Code Playgroud)
0.0 / 0.0
我在 ruby 1.8.6 上工作。
Pesto 链接的线程具有此函数,该函数应该在根据 IEEE 754 实现浮点数的平台上工作:
def aNaN
s, e, m = rand(2), 2047, rand(2**52-1)+1
[sprintf("%1b%011b%052b", s,e,m)].pack("B*").unpack("G").first
end
Run Code Online (Sandbox Code Playgroud)