如何在Python中对大数进行正确的除法?

2024-04-25 20:00:17 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么整型和浮点型的除法都有错误?怎么纠正呢?在

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

# output: 46374212988031352 52.0

# correct number: 46374212988031350

Tags: numberoutput错误int浮点printcorrect
2条回答

这里似乎有两个问题。我将介绍print语句的第一部分,即print(int(231871064940156750/5)):请参阅这篇相关文章long integers division error in python。。。在

我尝试了其中的建议(使用两个斜杠),它达到了您期望的商。在

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

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

Here is a very nice explantion

你需要的是

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

使用//而不是/进行整数除法是为了与Python3.x兼容,无需额外努力。在

Also make sure to take a quick look

对于/和//运算符

相关问题 更多 >