📅  最后修改于: 2023-12-03 14:56:48.748000             🧑  作者: Mango
在 Ruby 中,浮点数也是一种对象,它们属于 Float
类。在 Ruby 中,使用 .
来分隔小数部分。例如,3.14
是一个浮点数。
在这个主题中,我们将探讨浮点数及其比较运算。
在 Ruby 中,比较两个浮点数并不总是那么简单。这是因为浮点数的精度是有限的。在进行浮点数比较时,我们应该始终使用一个特殊的比较函数,而不是使用 ==
、<
、>
等常规运算符。
# 正确的比较方式
a = 0.1 + 0.2
b = 0.3
puts a.eql?(b) # => true
# 错误的比较方式
a = 0.1 + 0.2
b = 0.3
puts a == b # => false
在上面的例子中,我们使用了 eql?
函数来比较两个浮点数。eql?
函数会比较两个数的值和类型,因此可以避免由于精度问题而导致的不同结果。
除了比较运算外,浮点数还支持其他常规的数学运算,例如加、减、乘、除等。例如:
a = 3.14
b = 2.21
# 加法
puts a + b # => 5.35
# 减法
puts a - b # => 0.93
# 乘法
puts a * b # => 6.9394
# 除法
puts a / b # => 1.423076923076923
在 Ruby 中,浮点数是一种对象,比较两个浮点数需要使用 eql?
函数。浮点数还支持其他常规的数学运算。