16

小数点以下2〜100桁の平方根を見つけようとしていますが、デフォルトでは10のようにしか表示されません。これを変更するにはどうすればよいですか?

4

4 に答える 4

34

10進モジュールが便利です。

>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')
于 2011-01-19T08:36:27.657 に答える
7

10進モジュールは、任意精度の数値に使用できます。

import decimal

d2 = decimal.Decimal(2)

# Add a context with an arbitrary precision of 100
dot100 = decimal.Context(prec=100)

print d2.sqrt(dot100)

速度と組み合わせて同じ種類の能力が必要な場合は、他のいくつかのオプションがあります:[gmpy]、2cdecimal

于 2011-01-19T08:41:13.800 に答える
2

gmpy2を使用できます。

import gmpy2
ctx = gmpy2.get_context()
ctx.precision = 300
print(gmpy2.sqrt(2))
于 2014-06-23T09:49:53.257 に答える
1

sympyとevalf()を使用できます

from sympy import sqrt
print(sqrt(2).evalf(101))
于 2018-01-15T21:26:33.777 に答える