对红宝石来说是新手。 任何人都可以告诉我如何在ruby中找到数字的倒数。它有什么功能吗? 或只是1 /号码? 提前谢谢。
答案 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)
奇怪的是理性并没有反函数。