📅  最后修改于: 2023-12-03 15:41:12.448000             🧑  作者: Mango
在 Ruby 中,我们可以使用 Float
类型表示浮点数,即小数。然而由于计算机的存储限制,有些浮点数在计算机中无法精确表示,因此会出现计算误差。为了判断一个浮点数值是否有限(即可以精确表示)Ruby 提供了 finite?
方法。
finite?
方法用于判断一个浮点数是否有限。其返回一个布尔值,如果该浮点数可以精确表示,则返回 true
,否则返回 false
。其语法如下:
num.finite?
其中 num
为要判断的浮点数。
以下示例展示了 finite?
方法的使用:
1.0.finite? # true
10.0.finite? # true
3.14.finite? # true
1.0 / 3.finite? # false
1.0 / 0.finite? # false
在上述示例中,前三个值都可以精确表示,因此返回 true
,而后两个值无法精确表示,因此返回 false
。
finite?
方法只能用于浮点数,如果对整数使用该方法,则始终返回 true
。finite?
方法不会把一个非有限数(如 NaN 或 Infinity)当做有限数进行处理。对于这些数值,它会返回 false
。