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


Ruby Rational.round用法及代码示例


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

用法

round([ndigits] [, half: mode]) → integer or rational

返回 rat 四舍五入到最接近的值,精度为 ndigits 十进制数字(默认值:0)。

当精度为负时,返回值是一个至少有 ndigits.abs 尾随零的整数。

ndigits 为正数时返回一个有理数,否则返回一个整数。

Rational(3).round      #=> 3
Rational(2, 3).round   #=> 1
Rational(-3, 2).round  #=> -2

  #    decimal      -  1  2  3 . 4  5  6
  #                   ^  ^  ^  ^   ^  ^
  #   precision      -3 -2 -1  0  +1 +2

Rational('-123.456').round(+1).to_f  #=> -123.5
Rational('-123.456').round(-1)       #=> -120

可选的 half 关键字参数与 Float#round 类似。

Rational(25, 100).round(1, half: :up)    #=> (3/10)
Rational(25, 100).round(1, half: :down)  #=> (1/5)
Rational(25, 100).round(1, half: :even)  #=> (1/5)
Rational(35, 100).round(1, half: :up)    #=> (2/5)
Rational(35, 100).round(1, half: :down)  #=> (3/10)
Rational(35, 100).round(1, half: :even)  #=> (2/5)
Rational(-25, 100).round(1, half: :up)   #=> (-3/10)
Rational(-25, 100).round(1, half: :down) #=> (-1/5)
Rational(-25, 100).round(1, half: :even) #=> (-1/5)

相关用法


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