【发布时间】:2020-02-28 08:03:52
【问题描述】:
将Integer 除以零会产生ZeroDivisionError:
0 / 0 # ZeroDivisionError
但是,Float 除以零:
0.0 / 0 #NaN
0 / 0.0 #NaN
0.0 /0.0 #NaN
1.0 / 0 #Infinity
1 / 0.0 #Infinity
1.0 /0.0 #Infinity
我想知道为什么 Ruby 中 Integer 和 Float 的行为会有这种差异?
【问题讨论】:
-
它不是特定于 Ruby 的。这是 IEEE 754 中定义的行为。这是一个很好的答案,提供了一些基本原理:stackoverflow.com/a/14684474/8008340
标签: ruby floating-point