python - 在python中将大数除以10会得到错误的结果
问题描述
假设我想删除一个数字的最后一位n
。为此,我使用代码int(n/10)
。
可悲的是,这对大量数字给出了错误的结果。例如n = 4474630975855204960
除以10
给447463097585520512
。
这种行为的原因是什么?我该如何解决?
解决方案
对于某些数学运算,Python 解释器会为您处理长整数,您不必考虑它。
除法不同,它将整数转换为浮点数,这在 Python 中处理得不好。
您可以通过直接使用整数除法来解决这个问题 - 两个 // 而不是一个 /。
输入
4474630975855204960//10
输出
447463097585520496
推荐阅读
- flutter - 系统状态下的 Flutter 容器
- angular - 减少 ng2-charts 折线图中显示的值的数量
- java - 如何解决多语言应用程序在方向更改时自动更改语言的问题?
- c# - 在 Select LINQ 中错过 null 值的最佳方法
- python - Python 2 和 3 csv 模块文本二进制模式向后兼容
- python - PyQt:如何在两个按钮之间创建一个 lineItem 并可以随按钮移动?
- selenium - Selenium reactjs 启用 javascript 问题
- google-bigquery - 使用 Google BigQuery 从 JSON 中的多个属性值中提取值
- proxy - “无法握手”:执行 sudo apt-get update 时出错
- c# - 使用多个数据类型为键反序列化 JSON 文件