问题遇到的现象和发生背景
当我用pycharm算自然对数的时候
我写了
x =999999999999
E = (1+(1/x))**x
print(E)
结果发现如果9的数量如果在14个以内的时候,都接近2.71,
但是当9的数量在15个的时候,就会突然跳到3
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
还请大家给我解答一下 谢谢啦
当我用pycharm算自然对数的时候
我写了
x =999999999999
E = (1+(1/x))**x
print(E)
结果发现如果9的数量如果在14个以内的时候,都接近2.71,
但是当9的数量在15个的时候,就会突然跳到3
还请大家给我解答一下 谢谢啦
用decimal 27个9是上限,默认的精度是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
'''