python - 没有在python中获得确切值的原因是什么?
问题描述
int(100000000000000000000000000000000000/10**10) 它应该返回精确的值,如 10000000000000000000000,但返回值是 999999999999999983222784,这是什么原因?
解决方案
浮点除法运算符 ( /
) 产生不精确的结果。事后将其转换为int
并不能解决此问题。
如果您使用整数除法运算符 ( //
),您将得到一个精确的整数结果:
>>> 10000000000000000000000000000000000//10**10
1000000000000000000000000
推荐阅读
- python - @property 装饰器和@[property name].getter 有什么区别?
- sql - SQL 查询:考虑脚本的标题列部分
- html - 如何更改特定类或 HTML 部分的导航栏链接颜色的颜色?
- html - div元素之间的空白
- javascript - 将数组重构为对象Javascript / Nodejs中的对象列表
- grails - 允许 Grails 4 应用程序在 Jetty (9+) 下运行的最少步骤?
- django - 我在注册表单中的 /accounts/register/ 处有一个 ValueError
- azure - Kubernetes - 如何从“内部负载均衡器”切换到“入口控制器”
- python - Scipy savemat / loadmat - 如何保存一维数组与长度为 1 维的二维数组
- java - 更改 CollectionModel 创建的 json 响应中的单词“内容”