在比较浮点数时,要注意浮点数本身就是不精确的,可能会存在小数位的舍入误差。因此,推荐使用 Ruby 提供的 epsilon 方法来进行比较。
epsilon 方法用于确定浮点数之间最大的相对误差,如果浮点数之间的相对误差小于 epsilon,则认为两个浮点数相等。具体实现代码如下:
a = 0.1 + 0.2
b = 0.3
epsilon = 1e-9 # 根据情况设定相对误差范围
if (a - b).abs < epsilon
puts "a equals b"
else
puts "a does not equal b"
end