我正在使用ruby irb
-1/4
=> -1
0-1
=> -1
0-1/4
=> 0
为什么0-1 / 4会为零?
我的计算如下图
所示答案 0 :(得分:2)
1/4
为零 - 由于两个操作数都是整数,因此结果也会浮动到整数。这与您之前使用-1/4
观察到的行为相同。
如果需要非整数结果,则一个或两个操作数必须为浮点数。例如:
0 - 1 / 4.to_f
to_f
使解释器将数字解释为浮点数。
编辑:顺便说一句,你的计算是错误的。 0 - 1/4
与(0-1) / 4
不同。始终按正确的顺序进行操作!
答案 1 :(得分:1)
因为1/4是0.而0-0是0。
0 - (1 / 4)
你想要这个:
(0 - 1) / 4
这样可以确保首先进行减法。阅读运营商优先权。