首页 > 解决方案 > 没有在python中获得确切值的原因是什么?

问题描述

int(100000000000000000000000000000000000/10**10) 它应该返回精确的值,如 10000000000000000000000,但返回值是 999999999999999983222784,这是什么原因?

标签: python

解决方案


浮点除法运算符 ( /) 产生不精确的结果。事后将其转换为int并不能解决此问题。

如果您使用整数除法运算符 ( //),您将得到一个精确的整数结果:

>>> 10000000000000000000000000000000000//10**10
1000000000000000000000000

推荐阅读