100位浮点python

100位浮点python,python,floating-point,precision,Python,Floating Point,Precision,我有一个很大的十进制数,比如2的平方根,我想查看前100个十进制数字。但是,float不支持此功能:1.414213562373095145474621858738828450441360473632812500000000000000000000000000000000000000000 最好的方法是什么?我不想导入任何内容,最好是如果您对精度的要求是100位十进制数字,我认为您必须使用decimal.decimal Python中的float不是为这种精确计算而设计的 使用decimal.d

我有一个很大的十进制数,比如2的平方根,我想查看前100个十进制数字。但是,float不支持此功能:
1.414213562373095145474621858738828450441360473632812500000000000000000000000000000000000000000


最好的方法是什么?我不想导入任何内容,最好是

如果您对精度的要求是100位十进制数字,我认为您必须使用
decimal.decimal

Python
中的
float
不是为这种精确计算而设计的

使用
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')

您可以在此或

中找到更多详细信息。恐怕您必须导入
decimal.decimal
。请查看此网站:mpmath模块也适用于此,您应该可以通过strings@IgnacioVazquez-艾布拉姆斯:不,它真的是浮点型的,就像上面说的:“十进制模块支持十进制浮点运算。”但它能做平方根吗?@plugwash。