为什么在 int 和 float 中都存在除法错误?以及如何纠正它?print(int(231871064940156750/5),231871064940156750/5%100)# output: 46374212988031352 52.0# correct number: 46374212988031350
2 回答

撒科打诨
TA贡献1934条经验 获得超2个赞
这里似乎有两个问题。我将解决您的打印语句的第一部分,即print(int(231871064940156750/5)):在 python 中查看此相关帖子长整数除法错误...
我尝试了其中的建议(使用两个斜线),结果达到了您预期的商数。
>>> print(int(231871064940156750//5))
46374212988031350
>>>
Informit.com解释说,“...Python 有两个除法运算符,一个用于经典除法的单斜杠字符和一个用于“floor”除法的双斜杠(向下舍入到最接近的整数)。经典除法意味着如果操作数都是整数,它将执行地板除法,而对于浮点数,它代表真正的除法。”

精慕HU
TA贡献1845条经验 获得超8个赞
你需要的是
print(int(231871064940156750//5),231871064940156750/5%100)
使用 // 而不是 / 进行整数除法是为了与 Python 3.x 兼容,而不需要额外的努力。
对于 / 和 // 运算符
添加回答
举报
0/150
提交
取消