为什么两个中的除法都有错误:int和float?以及如何纠正它?
print(int(231871064940156750/5),231871064940156750/5%100)
# output: 46374212988031352 52.0
# correct number: 46374212988031350
Here is a very nice explantion
你需要的是什么
print(int(231871064940156750//5),231871064940156750/5%100)
使用//而不是/进行整数除法是为了兼容Python 3.x而不需要额外的努力。
Also make sure to take a quick look
对于/和//运算符
这里似乎有两个问题。我将解决你的打印声明的第一部分,即print(int(231871064940156750/5))
:请参阅此相关帖子long integers division error in python ...
我尝试了其中的建议(使用两个斜线),它达到了你预期的商数。
>>> print(int(231871064940156750//5))
46374212988031350
>>>
Informit.com解释说,“...... Python有两个除法运算符,一个用于经典除法的斜杠字符和一个用于”floor“除法的双斜杠(向下舍入到最接近的整数)。经典除法意味着如果操作数都是整数,它将执行地板划分,而对于浮点数,它代表真正的划分。“