我有一个大的十进制数,例如2的平方根,我想查看前100个十进制数字.但是,float不支持此功能:1.4142135623730951454746218587388284504413604736328125000000000000000000000000000000000000000000000000
做这个的最好方式是什么?我不想进口任何东西,最好是
如果您对精度的要求是100位十进制数字,我认为您必须使用decimal.Decimal
.
将float
在Python
不适合这种精确计算的.
使用decimal.Decimal
几乎一样简单float
,你可以做+
,-
,*
,/
和其他一些常用的计算直接之间的任何decimal.Decimal
不考虑.
此外,decimal.Decimal
支持直接设置您想要的精度:
>>> from decimal import getcontext, Decimal >>> getcontext().prec = 6 >>> Decimal(1) / Decimal(7) Decimal('0.142857') >>> getcontext().prec = 28 >>> Decimal(1) / Decimal(7) Decimal('0.1428571428571428571428571429')
您可以在此Python2 API或Python3 API中找到更多详细信息