如何在Python中显示小数点后100位的无理数?

发布于 2024-10-12 21:31:07 字数 49 浏览 6 评论 0原文

我想求小数点后 2 到 100 位的平方根,但默认情况下只显示 10,我该如何更改?

I am trying to find the square root of 2 to 100 decimal places, but it only shows to like 10 by default, how can I change this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

原野 2024-10-19 21:31:07

decimal 模块派上用场。

>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')

decimal module comes in handy.

>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')
街道布景 2024-10-19 21:31:07

您可以将 decimal 模块用于任意精度数字:

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

You can use the decimal module for arbitrary precision numbers:

import decimal

d2 = decimal.Decimal(2)

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

print d2.sqrt(dot100)

If you need the same kind of ability coupled to speed, there are some other options: [gmpy], 2, cdecimal.

如歌彻婉言 2024-10-19 21:31:07

您可以使用gmpy2

import gmpy2
ctx = gmpy2.get_context()
ctx.precision = 300
print(gmpy2.sqrt(2))

You can use gmpy2.

import gmpy2
ctx = gmpy2.get_context()
ctx.precision = 300
print(gmpy2.sqrt(2))
是伱的 2024-10-19 21:31:07

您可以使用 sympy 和 evalf()

from sympy import sqrt
print(sqrt(2).evalf(101))

You can use sympy and evalf()

from sympy import sqrt
print(sqrt(2).evalf(101))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文