Pyhon自带整数高精度,但是对于小数部分却没有高精度(也不可能实现无限高精度)
这是一篇最后编辑于 8 年前 的文章,其内容可能与目前实际情况差异较大,请注意甄别
Python中使用decimal模块实现高精度。
import decimal后,使用decimal.Decimal(1.0)声明高精度小数1.0,之后就可以使用高精度小数之间的加减乘除了
如果对精度要求较高(超过16位),使用decimal.getcontext().prec = 200将精度设为200(如果设太高,计算量也随之增加)
以下,Python计算e小数点后100位
import decimal decimal.getcontext().prec = 200 e = decimal.Decimal(1) tmp = decimal.Decimal(1) for i in range(1,20000): tmp /= decimal.Decimal(i) e += tmp print(e) print(str(e)[100])














