为什么用pycharm算自然对数E的时候,x等于16个9和x等于15个9差这么多?

问题遇到的现象和发生背景

当我用pycharm算自然对数的时候

我写了

x =999999999999
E = (1+(1/x))**x

print(E)

结果发现如果9的数量如果在14个以内的时候,都接近2.71,
但是当9的数量在15个的时候,就会突然跳到3

问题相关代码,请勿粘贴截图

img

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

还请大家给我解答一下 谢谢啦

用decimal 279是上限,默认的精度是28
from decimal import Decimal
x = Decimal(999999999999999999999999999)
E = (Decimal(1.0) + (Decimal(1.0) / x))**x
print(E)
'''--result
2.718281828459045235360287467
'''
如果调整它的精度,可以实现小数位后很多位
from decimal import Decimal, getcontext
getcontext().prec = 200
x = Decimal(99999999999999999999999999999999999999999999999999999999999999999999)
E = (Decimal(1.0) + (Decimal(1.0) / x))**x
print(E)
'''--result
2.7182818284590452353602874713526624977572470936999595749669676277240630389444052993452053770878096641149776056965345601239425787584904229065942094261371933698155615639217959757570015541686883824572413

'''

精度问题呗,你再多加几个9,直接变1了
因为1/x精度并不是无限的