首页 > 解决方案 > 如何使用 python 模块 gmpy2 将数字的精度设置为 10 位小数

问题描述

我创建了以下一段 python 代码。它应该首先将数字的精度设置为 10 位小数,但是打印 pi 显示 3.156,它只有 3 位小数!有人请让我知道我做错了什么。

import gmpy2 as g
from ipywidgets import widgets
from IPython.display import display

button = widgets.Button(description="Click Me!")
display(button)

max_precision = g.get_max_precision()
pi = g.const_pi()
g.set_context(g.context())

def set_bits_precision(decimal_precision):
    bits_precision = int(decimal_precision/g.log(2))
    if (bits_precision > max_precision): bits_precision = max_precision
    ctx = g.get_context()
    ctx.precision = bits_precision
    return

def square_root(number):
    return g.sqrt(number)

def circle_perimeter(radius):
    return 2*pi*radius 

def on_button_clicked(x):
    return square_root(x)

set_bits_precision(10)
print(pi)
button.on_click(on_button_clicked(2))

标签: pythongmpy

解决方案


推荐阅读