Ruby:
数字取整

如何操作:

# 基本四舍五入
puts 3.14159.round      # => 3
puts 2.6.round          # => 3

# 指定精度
puts 3.14159.round(2)   # => 3.14
puts 2.675.round(2)     # => 2.68

# 向下取整
puts 2.9.floor          # => 2

# 向上取整
puts 2.1.ceil           # => 3

# 向零方向取整
puts -2.9.round         # => -3
puts -2.9.truncate      # => -2

示例输出:

3
3
3.14
2.68
2
3
-3
-2

深入探讨

四舍五入并不是新事物——人类几个世纪以来一直在进行四舍五入,以便简化计算或在其工具的限制范围内工作。在Ruby中,round方法非常灵活,能够默认四舍五入到最近的整数或指定小数位。

round的替代方法包括总是向下取整的floor,和无论数值如何总是向上取整的ceil。若仅想去掉小数位,可以使用truncate

历史上,在计算机领域,四舍五入在处理浮点运算时变得至关重要,因为浮点运算本身就不精确。像大多数语言一样,Ruby遵循IEEE 754标准来处理浮点数,这意味着它的四舍五入方式大多数程序员应能预测并依赖。

不过,还有更多要注意的——比如银行家舍入法(也称为向偶数舍入)等概念,Ruby开发者可能需要手动实现,因为round方法内置并不提供这个功能。

另见