Ruby on rails 如何在ruby中求一个数的倒数

Ruby on rails 如何在ruby中求一个数的倒数,ruby-on-rails,ruby,Ruby On Rails,Ruby,我对ruby不熟悉。 有人能告诉我如何在ruby中求一个数的倒数吗?有什么函数吗? 还是只有1/2? 提前感谢。您需要使用浮点数: 1.0 / number 如果你使用1/number,并且number是整数5,你只会得到0而不是0.2。虽然不是你问题的确切答案,但我认为我们应该在这里提到类,它适合于保留有理数,而不必损失浮点数的存储,即分数形式: n = 3 #=> 3 r = Rational(1,3) #=> 13 # don't let this confuse you,

我对ruby不熟悉。 有人能告诉我如何在ruby中求一个数的倒数吗?有什么函数吗? 还是只有1/2?
提前感谢。

您需要使用浮点数:

1.0 / number

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

虽然不是你问题的确切答案,但我认为我们应该在这里提到类,它适合于保留有理数,而不必损失浮点数的存储,即分数形式:

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

您可以使用不同的方法,例如:

number**(-1)
这与

1.0/number

如果您的数字是有理数,则可以使用零部件创建逆有理值:

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

奇怪的是,有理数没有反函数。

从你的例子中,我假设你指的是乘法逆,通常称为倒数。我更喜欢这个。它比任意添加
.0
使其使用浮点算法更具语义。好主意。