请让我知道,如果这是获得立方根的正确方法。为什么`27 **(1.0/3.0)`与`27 **(1/3)`不同?
我不理解为什么
27 ** (1.0/3.0) #=> 3
不同于
27 ** (1/3) #=> 1
请让我知道,如果这是获得立方根的正确方法。为什么`27 **(1.0/3.0)`与`27 **(1/3)`不同?
我不理解为什么
27 ** (1.0/3.0) #=> 3
不同于
27 ** (1/3) #=> 1
1.0/3.0 # => 0.3333333333333333
27 ** 0.333 # => 2.9967059728946346
1/3 # => 0
27 ** 0 # => 1
第二个是整数除法的一个例子。其中三个有三个?零。 0中的任何数字是1.
第一分区是一个小数除法,而后者是一个整数除法
即1.0/3.0
将产生一个十进制结果,而1/3
将产生一个整数结果,在这种情况下,我0
结果将为此是不同的,因为它是任
27**0.333...
或
27**0
这当然是明显不同的结果。
它足以强制其中一个操作符在整个操作中为十进制,以产生十进制结果,例如, 1/3.0将产生0.3333 ...
(1/3)
返回0
因为3
是一个整数。在红宝石中,如果你使用整数除数和除数,你将得到一个整数值。既然提高到0
什么是1
,你GET 1
的答案
(1.0/3.0)
回报0.3333
,因为你没有将2个整数,所以你从27 ** 0.33...
整数除法结果的整数得到3
:
irb(main):004:0> 1/3
=> 0
irb(main):005:0> 1.0/3.0
=> 0.3333333333333333
27**0 = 1
。 27**(1/3) = 3
键入对话。
当计算1.0/3.0 - 这是十进制
哪个是1.0/3.0 = 0.33#这是一个十进制
1/3 - 它舍入到最接近的整数。
这样:
27 ** (1.0/3.0) #=> 3
is different from
27 ** (1/3) #=> 1
哇!我最好让我的速度加快! – Karma 2013-03-13 08:29:31
@到所有应答:哇,什么样的竞争条件。请不要饿死问题作者:) – quetzalcoatl 2013-03-13 08:01:50