如何在ruby中找到数字的倒数

时间:2010-03-31 01:04:18

标签: ruby-on-rails ruby

对红宝石来说是新手。 任何人都可以告诉我如何在ruby中找到数字的倒数。它有什么功能吗? 或只是1 /号码? 提前谢谢。

4 个答案:

答案 0 :(得分:6)

您需要使用浮点数:

1.0 / number

如果你使用1 / number,而数字是整数5,你只会得到0而不是0.2。

答案 1 :(得分:3)

虽然不完全是你问题的答案,但我认为我们应该在这里提到Rational类,适用于保持有理数,而不存在浮点数存储所暗示的损失,即以分数的形式:

n = 3
#=> 3
r = Rational(1,3)
#=> 13 # don't let this confuse you, this is 1/3 in fact
r.to_s
#=> "1/3"

你可以对这些数字进行通常的有理算术,保持分数的准确性:

r = r * r
#=> 19
r.to_s
#=> "1/9"

最后,您可以将这些数字转换为普通浮点数:

r.to_f
#=> 0.111111111111111

答案 2 :(得分:3)

你可以使用不同的东西:

number**(-1)

相同
1.0/number

答案 3 :(得分:0)

如果您的数字是Rational,那么您可以使用组件部分来创建逆Rational值:

@rational = Rational(1,27)
@inverse = Rational(@rational.denominator, @rational.numerator)

奇怪的是理性并没有反函数。