python - 如何在 Python 中对大数进行正确除法?
问题描述
为什么在int和float中都存在除法错误?以及如何纠正它?
print(int(231871064940156750/5),231871064940156750/5%100)
# output: 46374212988031352 52.0
# correct number: 46374212988031350
解决方案
这里似乎有两个问题。我将解决您的打印语句的第一部分,即print(int(231871064940156750/5))
:请参阅这篇相关的帖子long integers division error in python ...
我尝试了其中的建议(使用两个斜杠),它达到了您期望的商数。
>>> print(int(231871064940156750//5))
46374212988031350
>>>
Informit.com解释说,“...Python 有两个除法运算符,一个用于经典除法的单斜杠字符和一个用于“地板”除法的双斜线(向下舍入到最接近的整数)。经典除法意味着如果操作数都是整数,它会执行地板除法,而对于浮点数,它代表真正的除法。”
推荐阅读
- powerbi - 电源 BI。使用自定义地图作为底图
- spring-webflux - 获取 web 客户端 web-flux 的响应时间
- docker - Docker 无法在新添加的 VM/节点上下载现有服务的映像
- go - 将提升字段解组为结构
- android - 谷歌地图 + CustomPaint Flutter
- c# - asp.net Web API csv helper writing to the stream doesn't work
- ios - 为什么不能更改 UITabBar 徽章字体 iOS Swift?
- reactjs - 在 redux 中反应 Native Store 值
- java - JavaFX TreeTableView 无法更新单元格值
- java - 将逗号分隔的文本文件分隔到数组