作者:噬灬魂鴒 | 来源:互联网 | 2023-05-24 00:57
这是我要问的一个例子:
我只是对Ruby如何解释这些问题感到好奇,就Ruby而言,这些问题明显不同.当我试图在不使用浮点数的情况下编写一个简单的数学问题时我感到好奇并且注意到Ruby会以不同于整数对应的方式读取Floats(就Ruby而言,也许1/2 不是 0.5的对应物,但那是它的一部分)我在这里问的问题:为什么不呢?)
谁能解释一下这里发生了什么?
1> August..:
17424 ** 1 / 2
被解释为(17424 ** 1) / 2
,只是17424/2
17424 ** (1 / 2)
反直觉是因为1 / 2
实际上0
并非如此0.5
.这是因为当您对整数进行除法时,结果的十进制将被截断.您可以将其中一个操作数(或两者)更改为浮点数来修复此问题:17424 ** (1.0 / 2)