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

为什么在 int 和 float 中都存在除法错误?以及如何纠正它?


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


# output: 46374212988031352 52.0


# correct number: 46374212988031350


陪伴而非守候
浏览 791回答 2
2回答

撒科打诨

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

精慕HU

这是一个非常好的解释你需要的是print(int(231871064940156750//5),231871064940156750/5%100)使用 // 而不是 / 进行整数除法是为了与 Python 3.x 兼容,而不需要额外的努力。还要确保快速浏览对于 / 和 // 运算符
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python