Python中的大数如何正确除法?
How to do correct division for large numbers in Python?
为什么整型和浮点型都出现除法错误?以及如何纠正它?
print(int(231871064940156750/5),231871064940156750/5%100)
# output: 46374212988031352 52.0
# correct number: 46374212988031350
你需要的是
print(int(231871064940156750//5),231871064940156750/5%100)
使用 // 而不是 / 进行整数除法是为了与 Python 3.x 兼容,无需额外的努力。
Also make sure to take a quick look
对于 / 和 // 运算符
这里好像有两个问题。我将解决您的打印语句的第一部分,即 print(int(231871064940156750/5))
:请参阅相关的 post ...
我尝试了其中的建议(使用两个斜杠),它达到了您期望的商数。
>>> print(int(231871064940156750//5))
46374212988031350
>>>
Informit.com 解释说,“...Python 有两个除法运算符,一个用于经典除法的单斜杠字符和一个用于“floor”除法的双斜杠字符(向下舍入到最接近的整数). 经典除法是指如果操作数都是整数,则进行floor除法,而对于浮点数,则表示真正的除法。"
为什么整型和浮点型都出现除法错误?以及如何纠正它?
print(int(231871064940156750/5),231871064940156750/5%100)
# output: 46374212988031352 52.0
# correct number: 46374212988031350
你需要的是
print(int(231871064940156750//5),231871064940156750/5%100)
使用 // 而不是 / 进行整数除法是为了与 Python 3.x 兼容,无需额外的努力。
Also make sure to take a quick look
对于 / 和 // 运算符
这里好像有两个问题。我将解决您的打印语句的第一部分,即 print(int(231871064940156750/5))
:请参阅相关的 post
我尝试了其中的建议(使用两个斜杠),它达到了您期望的商数。
>>> print(int(231871064940156750//5))
46374212988031350
>>>
Informit.com 解释说,“...Python 有两个除法运算符,一个用于经典除法的单斜杠字符和一个用于“floor”除法的双斜杠字符(向下舍入到最接近的整数). 经典除法是指如果操作数都是整数,则进行floor除法,而对于浮点数,则表示真正的除法。"