当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Float.round用法及代码示例


本文简要介绍ruby语言中 Float.round 的用法。

用法

round(ndigits = 0, half: :up]) → integer or float

返回 self 四舍五入到最接近的值,精度为 ndigits 十进制数字。

ndigits 为非负数时,返回小数点后带有ndigits 的浮点数(如可用):

f = 12345.6789
f.round(1) # => 12345.7
f.round(3) # => 12345.679
f = -12345.6789
f.round(1) # => -12345.7
f.round(3) # => -12345.679

ndigits 为负数时,返回一个至少带有ndigits.abs 尾随零的整数:

f = 12345.6789
f.round(0)  # => 12346
f.round(-3) # => 12000
f = -12345.6789
f.round(0)  # => -12346
f.round(-3) # => -12000

如果给出关键字参数half,并且self与两个候选值等距,则根据给定的half值进行舍入:

  • :upnil :从零四舍五入:

    2.5.round(half: :up)      # => 3
    3.5.round(half: :up)      # => 4
    (-2.5).round(half: :up)   # => -3
  • :down:向零舍入:

    2.5.round(half: :down)    # => 2
    3.5.round(half: :down)    # => 3
    (-2.5).round(half: :down) # => -2
  • :even :向最后一个非零数字为偶数的候选者四舍五入:

    2.5.round(half: :even)    # => 2
    3.5.round(half: :even)    # => 4
    (-2.5).round(half: :even) # => -2

如果 half 的值无效,则引发和异常。

相关: Float#truncate

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Float.round。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。