在我的应用程序中,我遇到了以下情况,并对结果感到惊讶:
8/-7=-2
(均为整数)。
这是什么意思?
原文由 Vivek S 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我的应用程序中,我遇到了以下情况,并对结果感到惊讶:
8/-7=-2
(均为整数)。
这是什么意思?
原文由 Vivek S 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答993 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
对于实际值,即
8.0/(-7.0)
,结果大致为-1.143
。使用整数除法的结果将向下舍入到更负的值
-2
。 (这也被称为“楼层划分”)这就是为什么您会得到以下有些令人费解的答案:
注意: 这在 Python 3 中是“固定的”,其中
8/(-7)
的结果将是-1.143
。所以如果你没有理由使用 Python 2,你应该升级。 ;)在 Python 3 中,如果您仍然想要整数除法,可以使用
//
运算符。这将为您提供与8/(-7)
在 Python 2 中相同的答案。这是关于该主题的 Python 增强建议: PEP 238 – 更改除法运算符