Python decimal模块的使用示例详解
更新时间:2023年03月11日 16:07:19 作者:River Chandler
decimal 模块decimal意思为十进制,这个模块提供了十进制浮点运算支持,本篇文章主要给大家讲解Python decimal模块的使用,需要的朋友可以参考下
Python decimal 模块
- Python中的浮点数默认精度是15位。
- Decimal对象可以表示任意精度的浮点数。
getcontext函数
- 用于获取当前的context环境,可以设置精度、舍入模式等参数。
#在context中设置小数的精度 decimal.getcontext().prec = 100
- 通过字符串初始化Decimal类型的变量
因为通过浮点数初始化Decimal类型的变量会导致精度的丢失
# 浮点数的初始化 a = decimal.Decimal('3.14159265')
setcontext函数
decimal.ROUND_HALF_UP 对浮点数四舍五入
import decimal x = decimal.Decimal('1.23456789') context = decimal.Context(prec=4,rounding=decimal.ROUND_HALF_UP) decimal.setcontext(context) y1 = x y2 = x*2 print("y1",y1) print("y2",y2) >>>y1 1.23456789 >>>y2 2.469
localcontext函数
- 用于创建一个新的context环境,可以在该环境中设置精度、舍入模式等参数,不会影响全局的context环境。
import decimal x = decimal.Decimal('1.23456789') context0 = decimal.Context(prec=9,rounding=decimal.ROUND_HALF_UP) decimal.setcontext(context0) y1 = x * 2 print("y1",y1) with decimal.localcontext() as context: context.prec = 4 context.rounding = decimal.ROUND_HALF_UP y2 = x * 2 print("y2",y2) >>>y1 2.46913578 >>>y2 2.469 >>> >>>
到此这篇关于Python decimal模块的使用的文章就介绍到这了,更多相关Python decimal使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Pandas 重塑(stack)和轴向旋转(pivot)的实现
这篇文章主要介绍了Pandas 重塑(stack)和轴向旋转(pivot)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-07-07
最新评论