如何在Python中正确划分大数?

问题描述 投票:0回答:2

为什么两个中的除法都有错误:int和float?以及如何纠正它?

print(int(231871064940156750/5),231871064940156750/5%100)

# output: 46374212988031352 52.0

# correct number: 46374212988031350
python python-3.x division
2个回答
0
投票

Here is a very nice explantion

你需要的是什么

print(int(231871064940156750//5),231871064940156750/5%100)

使用//而不是/进行整数除法是为了兼容Python 3.x而不需要额外的努力。

Also make sure to take a quick look

对于/和//运算符


1
投票

这里似乎有两个问题。我将解决你的打印声明的第一部分,即print(int(231871064940156750/5)):请参阅此相关帖子long integers division error in python ...

我尝试了其中的建议(使用两个斜线),它达到了你预期的商数。

>>> print(int(231871064940156750//5))
46374212988031350
>>>

Informit.com解释说,“...... Python有两个除法运算符,一个用于经典除法的斜杠字符和一个用于”floor“除法的双斜杠(向下舍入到最接近的整数)。经典除法意味着如果操作数都是整数,它将执行地板划分,而对于浮点数,它代表真正的划分。“

© www.soinside.com 2019 - 2024. All rights reserved.