📜  使用十进制模块在Python中设置精度

📅  最后修改于: 2022-05-13 01:55:49.854000             🧑  作者: Mango

使用十进制模块在Python中设置精度

Python中的小数模块可用于设置数字的精确值。 Decimal 模块的默认值最多为 28 位有效数字。但是,可以使用getcontext().prec方法更改它。

下面的程序通过计算 2 个数字的平方根到默认位数来演示十进制模块的使用。

Python3
# Import required modules
import decimal  
  
# Create decimal object
ob1 = decimal.Decimal(5).sqrt()  
ob2 = decimal.Decimal(7).sqrt()
  
# Display value  
print(ob1)
print(ob2)


Python3
# Import required module
import decimal
  
# Set precision to a fixed value 
decimal.getcontext().prec = 6  
  
# Create Decimal object
ob1 = decimal.Decimal(5).sqrt()  
ob2 = decimal.Decimal(7).sqrt()
  
# Display value up to 6 significant figures
print(ob1)
print(ob2)


输出
2.236067977499789696409173669
2.645751311064590590501615754

我们可以将精度设置为 n 个有效数字。 decimal.getcontext().prec必须在全局范围内声明,这样所有的小数对象都可以有 n 个有效数字。

蟒蛇3

# Import required module
import decimal
  
# Set precision to a fixed value 
decimal.getcontext().prec = 6  
  
# Create Decimal object
ob1 = decimal.Decimal(5).sqrt()  
ob2 = decimal.Decimal(7).sqrt()
  
# Display value up to 6 significant figures
print(ob1)
print(ob2)
输出
2.23607
2.64575